Contenu connexe
Similaire à Java 7&12 6 2
Similaire à Java 7&12 6 2 (20)
Plus de Mook Sasivimon (10)
Java 7&12 6 2
- 2. คีย์เวิร์ด static
ในการออกแบบคลาสนั้นถ้าหากต้องการให้มีตัวแปรหนึ่ง เป็น
ตัวแปรคลาสสาหรับเก็บคุณลักษณะประจาหรือพฤติกรรมต่างๆโดยที่
ตัวแปรนี้จะเก็บอยู่ในหน่วยความจาที่เดียวกัน ตัวแปรนี้เรียกว่า class
variables หรือ static variables โดยการสร้างตัวแปรนี้จะใช้คาว่า static
นาหน้าทุกออบเจ็กต์ที่สร้างขึ้นจะใช้ตัวแปรนี้เป็นตัวเดียวกัน
- 4. คุณลักษณะของวิธีการเชิงวัตถุ (class) (ต่อ)
1. การห่อหุ้ม (Encapeulation) ลักษณะที่สาคัญของการเขียนโปรแกรมเชิง
วัตถุก็คือ ข้อมูลหรือคุณลักษณะบางอย่างที่สร้างขึ้นในคลาสสามารถปกป้อง
หรือถูกห่อหุ้มอยู่ภายในไม่ให้ออบเจ็กต์สามารถเข้าใช้งานหรือเข้าไปแก้ไข
ข้อมูลได้ เช่น ถ้าสร้างคลาสสาหรับวงกลมชื่อ Cricle ภายในคลาสมีเมธอด
สาหรับกาหนดค่ารัศมี เมธอดสาหรับหาเส้นรอบวงกลม และมีข้อมูลที่เป็น
รัศมีวงกลมสาหรับให้เป็นค่าคงทีในการคานวณหาเส้นรอบวงกลม การสร้าง
่
คลาสลักษณะนี้ ค่ารัศมีจะใช้ภายในคลาสเท่านั้น ไม่ควรให้ออบเจ็กต์แก้ไขได้
เนื่องจากอาจทาให้การคานวณหาค่าเส้นรอบวงผิดไปหมดคุณลักษณะ
แบบนี้เรียกว่า การห่อหุ้ม
- 5. คุณลักษณะของวิธีการเชิงวัตถุ (class) (ต่อ)
2. การสืบทอด (Inheritance) อินเฮอริแทนซ์ (Inheritance) หรือการสืบทอด
เป็นการนาออบเจ็กต์มาสร้างลาดับความสัมพันธ์เป็นลาดับชั้น สามารถนา
คลาสที่มีอยู่แล้ว หรือนาโปรแกรมที่ได้เขียนไว้แล้วนากลับมาใช้ใหม่ได้อีก
สามารถสร้างคลาสใหม่ที่สืบทอดมาจากคลาสที่มีอยู่แล้วได้ เป็นการ
ถ่ายทอดคุณสมบัติของคลาสหนึ่งไปยังอีกคลาสหนึ่ง ซึ่งทาให้คลาสใหม่นี้
สามารถนาคุณลักษณะและเมธอดของคลาสเดิมมาใช้ได้ คลาสที่เป็น
ต้นแบบจะเรียกว่า superclass หรือ base class หรือเรียกสั้นๆว่า คลาสแม่
ส่วนคลาสที่สืบทอดจะเรียกว่า subclass หรือ child class หรือ
เรียกว่า คลาสลูก
- 6. การสืบทอด (Inheritance)
เป็นการสืบทอดเมธอดและคุณลักษณะจากคลาสแม่มาสู่คลาสลูก
โดยคลาสลูกที่สร้างขึ้นจะมีลักษณะคล้ายๆกับคลาสแม่ แต่จะมีคุณสมบัติ
พิเศษเป็นการเฉพาะมากกว่า ตัวอย่าง เช่น ถ้าหากเรามีคลาสของรูปร่างสอง
มิติเป็นคลาสแม่ เราอาจสร้างคลาสลูกเป็นคลาสของสามเหลี่ยม คลาสของ
สี่เหลี่ยม และคลาสของวงกลมที่สืบทอดมาจากคลาสของรูปร่างสองมิติได้
ในการเขียนโปรแกรมด้วยภาษาจาวาการสร้างของคลาสจะใช้คา ว่า
extends ในการบอกว่าคลาสที่สร้างขึ้นมีการสืบทอด
มาจากคลาสใด
- 7. การสืบทอด (Inheritance) (ต่อ)
การเข้าถึงสมาชิกในคลาส
ในการเขียนโปรแกรมแบบออบเจ็กต์นั้น โดยทัวไปแล้ว่
คุณลักษณะของคลาสมักจะไม่ยอมให้ออบเจ็กต์ภายนอกเข้าถึงได้โดยตรง
โดยจะใช้คาว่า private เขียนกากับไว้ ถ้าหากคลาส TwoDShape
ประกาศตัวแปรคุรลักษณะเป็น private คลาส Triangle ก็จะไม่สามารถใช้
ตัวแปรนั้นได้ด้วย แต่ถ้าหากเป็นตัวแปรที่เข้าถึงได้เฉพาะสมาชิกของ
คลาส หรือสมาชิกในคลาสลูกเท่านั้นจะใช้คาว่า protected
- 8. การสืบทอด (Inheritance) (ต่อ)
การห้ามไม่ให้มีการสืบทอด
ในการออกแบบคลาสนั้น หากไม่ต้องการให้มีคลาสใดที่
สามารถสืบทอดจากคลาสที่สร้างขึ้นได้ก็ทาได้เช่นกัน โดยใช้คาว่า final
ในตอนที่ประกาศสร้างคลาส ตัวอย่างเช่น หากสร้างคลาส TwoDShape
แล้วไม่ต้องการให้คลาสใดสืบทอดจากคลาสนี้ได้ สามารถเขียนตอน
ประกาศคลาสได้ดังนี้
- 9. คอนสตรัคเตอร์และการสืบทอด
คลาสลูกที่มีการสืบทอดมาจากคลาสแม่สามารถมีคอนสตรัค
เตอร์ได้เช่นกัน จากตัวอย่างคลาสสามเหลี่ยมที่สร้างขึ้น อาจมีคอนสตรัค
เตอร์สาหรับกาหนดความยาวของด้านต่างๆได้ โดยสร้างเมธอดที่มีชื่อ
เดียวกับชื่อคลาสลูก
รูปแบบ
super(parameter-list);
โดยพารามิเตอร์ของ super คือค่าที่กาหนดให้กับคอนสตรัค
เตอร์ของคลาสแม่
- 10. การออกแบบโปรแกรมเชิงวัตถุ
ในการเขียนโปรแกรมเชิงวัตถุนั้นจะต้องเริ่มจากการจาแนก
ความแตกต่างของวัตถุที่ใช้ในโปรแกรมออกมา รวมทั้งพิจารณาถึง
พฤติกรรมของวัตถุนั้นด้วย จากนั้นพยายามรวบรวมออกมาเป็นคลาสให้
ได้ หากออกแบบคลาสได้แล้วควรเขียนไดอะแกรมของคลาส (Class
Diagram) ออกมา โดยทั่วไปแล้วมักจะใช้ภาษารูปแบบกราฟิกที่เรียกว่า
UML คานี้ย่อมาจาก Unlflied Modelling Language ซึ่งถือว่าเป็นภาษา
มาตรฐานในการลาลองระบบซอฟต์แวร์
- 11. การออกแบบโปรแกรมเชิงวัตถุ (ต่อ)
สาหรับการเขียนไดอะแกรมคลาสจะประกอบด้วยส่วนต่างๆ สาม
ส่วนคือ ชื่อคลาส คุณลักษณะของคลาส และเมธอดของคลาส โดยใน
ไดอะแกรมจะระบุความสามารถในการเข้าถึงคุณลักษณะและตัวแปรต่างๆ
ด้วย ถ้าหากตัวแปรหรือเมธอดใดเป็นแบบ private จะใช้เครื่องหมาย (-) แต่
ถ้าหากตัวแปรหรือเมธอดใดเป็นแบบ public จะใช้เครื่องหมาย (+)
- 13. กรณีศึกษาการออกแบบโปรแกรมเชิงวัตถุ
จากที่ศกษามาจะพบว่าการนาวิธีการสืบทอดคลาสมาใช้ ทาให้การ
ึ
เขียนโปรแกรมเชิงวัตถุมีประสิทธิภาพมากขึ้น การออกแบบโปรแกรมทา
ได้ง่ายขึ้น สาหรับหัวข้อนี้จะแสดงตัวอย่างการออกแบบโปรแกรมชิงวัตถุที่
มีการนาวิธีการสืบทอดคลาสมาใช้งาน
- 14. กรณีศึกษาการออกแบบโปรแกรมเชิงวัตถุ (ต่อ)
ตัวอย่างข้อมูลบุคคลในมหาวิทยาลัย
ถ้าหากในมหาวิทยาลัยแห่งหนึ่งมีผู้คนอยู่ในระบบเป็นจานวน
มาก บางท่านเป็นเจ้าหน้าที่ เป็นพนักงานของมหาวิทยาลัย เป็นนักศึกษา
ในส่วนของนักศึกษายังแบ่งเป็นนักศึกษาระดับปริญญาตรี และนักศึกษา
ระดับบัณฑิตศึกษา ถ้าหากต้องการออกแบบโปรแกรมสาหรับเก็บข้อมูล
บุคคลต่างๆ ที่เกี่ยวข้องในมหาวิยาลัยแห่งนี้ เราอาจสร้างคลาสของบุคคล
ขึ้นมาเป็นคลาสแม่ สาหรับรายละเอียดของบุคคลประเภทอื่น ๆ ให้สร้าง
คลาสสืบทอดต่อจากคลาสแม่นี้ สาหรับบุคคลที่ใช้เก็บข้อมูลทั่วไป
ออกแบบได้ดังโปรแกรม
- 16. กรณีศึกษาการออกแบบโปรแกรมเชิงวัตถุ (ต่อ)
เมื่อสร้างคลาส Personสาหรับเก็บข้อมูลบุคคลทั่วไปแล้ว การออก
แบบคลาสสาหรับเก็บข้อมูลนักศึกษา หรือบุคลากรต่างๆ อาจใช้วิธีการสืบ
ทอดคลาสมาออกแบบคลาสได้ดังแผนภาพต่อไปนี้
- 17. สรุป
ในเขียนโปรแกรมเชิงวัตถุนั้นจะมีการรวมคุณสมบัติและพฤติกรรม
ของสิ่งต่างๆ ที่เกิดขึ้นในโปรแกรมแล้วสร้างออกมาเป็นคลาส จากนั้นจะ
สร้างออบเจ็กต์ของคลาสนั้นๆ ออบเจ็กต์ต่างๆ จะสื่อสารกันผ่านทางเมธอด
คุณสมบัติหนึ่งที่สาคัญของการเขียนโปรแกรมเชิงวัตถุคือ การสืบทอด
(Inheritance) ซึ่งทาให้ผู้เขียนโปรแกรมสามารถนาคลาสที่เคยออกแบบไว้
นามาใช้ได้อก โดยสร้างคลาสใหม่เป็นคลาสลูกที่มีคุณสมบัติเพิ่มเติมขึ้นมา
ี
โดยคลาสลูกนี้สามารถใช้คุณลักษณะและเมธอดต่างๆในคลาสแม่ได้ด้วย
- 19. โปรแกรม NetBeans เป็นโปรแกรม IDE สาหรับเขียนโปรแกรม
ภาษาจาวาในลักษณะต่างๆ เป็นโปรแกรมที่เพียงแต่เติม และจัดระเบียบ
โค้ดโปรแกรม ก็สามารถสร้างโปรแกรมประยุกต์ได้ง่าย และเป็น
โปรแกรมที่หาใช้ได้ฟรี
การเขียนโปรแกรมด้วย NetBeans นั้นจะไม่ต้องพิมพ์คาสั่งเพื่อ
รันโปรแกรม เนื่องจากมีเมนูคาสั่งต่างๆ การเขียนโปรแกรมเมื่อพิมพ์
คาสั่งลงไป โปรแกรมจะประมวลผลเพื่อพิจารณาว่าเป็นคาสั่งหรือเมธอด
ใด จากนั้นจะแสดงคาสั่งที่น่าจะเป็นออกมาให้เลือกใช้ ซึ่งเหมาะกับผูที่
้
เขียนโปรแกรมไม่คล่อง และผู้ที่ไม่ชอบจาเมธอดต่างๆ
- 20. เริ่มต้นเขียนโปรแกรมแรกด้วย NetBeans
เริ่มต้นสร้างโปรเจ็กต์ใหม่โดยเลือกเมนู File > New Project
จากนั้นโปรแกรมจะแสดงหน้าต่าง New Project ขึ้นมา เราสามารถเลือกการ
สร้างโปรแกรมประยุกต์ได้หลายแบบ ในที่นี้จะสร้างโปรแกรมในลักษณะ
Desktop Application ด้วยจาวา ให้เลือกโปรเจ็กต์เป็น Java แล้วเลือก Java
Desktop Application
- 21. เริ่มต้นเขียนโปรแกรมแรกด้วย NetBeans(ต่อ)
แล้วกด Next > ตังชือโปรเจ็กต์ > Finish เมื่อคลิก Finish โปรแกรม
้ ่
จะแสดงหน้าต่างโปรเจ็กต์ที่สร้างขึ้นมาใหม่จะอยู่ในกรอบเส้นประพร้อม
ทั้งแสดงเฟรมสาหรับออกแบบ GUI ออกมา ด้านขวามือจะเป็นส่วนของ
Swing คอมโพเนนต์ ซึ่งสามารถลากมาวางบนเฟรมได้
- 22. เริ่มต้นเขียนโปรแกรมแรกด้วย NetBeans(ต่อ)
สาหรับคอนโทรลต่างๆ มีให้เลือกมากมายสามารถนามาใช้งาน
ได้ โดยสามารถลากมาวางบนฟอร์มได้ทันที เมื่อวางคอมโพเนนต์ใดลง
ไป เราสามารถเปลี่ยนคุณสมบัติได้ในหน้าต่างคุณสมบัติ
ถ้าหากต้องการสร้างอีเวนต์ให้กับปุ่มได้โดย
คลิกขวาที่ปุ่มแล้วเลือก Events แล้วเลือก Events ที่
ต้องการ ในทีนี้จะเลือก Events ที่เกิดจากเมาส์โดยเลือก
่
เป็น Mouse > mouseClicked โปรแกรมจะสร้างหน้าต่าง
ซอร์สโค้ดออกมา ให้พิมพ์คาสั่งในตาแหน่งต่อจากคาว่า
TODO ในที่นี้จะพิมพ์ System.out.println(“Hello
JAVA”); เพื่อแสดงข้อความออกทางคอนโซล เมื่อคลิก
ไอคอนรันโปรแกรมจะแสดงหน้าต่างเอาต์พุต
- 24. การดีบักโปรแกรม
การเขียนโปรแกรมคอมพิวเตอร์นั้นบางครั้งอาจต้องพิจารณาค่า
ของตัวแปรต่างๆ ที่เกิดขึ้นระหว่างการทางานของโปรแกรม เพื่อตรวจสอบ
ข้อผิดพลาดบางอย่างที่อาจเกิดขึ้นได้ เช่น การใช้ตัวแปรผิด การเขียน
นิพจน์ผิด ซึ่งข้อผิดพลาดเหล่านั้นเรียกว่าบั๊ก (bug) แต่เนื่องจากโปรแกรม
ทางานเร็วมาก บางครั้งอาจต้องให้โปรแกรมหยุดในตาแหน่งที่ต้องการเพื่อ
ตรวจสอบข้อผิดพลาดหรือเพื่อแก้บก โปรแกรม NetBeans สามารถ
ั๊
กาหนดจุดหยุดของโปรแกรมชั่วคราว หรือดูค่าของตัวแปร
ระหว่างโปรแกรมทางานได้
- 25. สมาชิก
นางสาว ไพลิน สืบเรือง เลขที่ 22
นางสาวธนัชกัญ พูลผล เลขที่ 24
นางสาวพัชรวลัย ดีประชา เลขที่ 25
นางสาวศศิวิมล สมบูรณ์ศิริ เลขที่ 27
นางสาวจิรวัฒ สลุงอยู่ เลขที่ 38
นางสาวรวิสรา จารุเชษฐ์อัศนี เลขที่ 39
นางสาวเมธาวี เงินยวง เลขที่ 40
ชั้น ม.6/2