หน่วยการเรียนรู้ที่
2
หลักการและแนวคิดเชิงวัตถุ
สาระสำคัญ
สาระสำคัญ
วัตถุ (Object) คือสิ่งที่เป็นรูปธรรม และ นามธรรม ที่มีอยู่ในโลกของความเป็นจริง (Real World)
จะเห็นได้ว่าวัตถุประกอบไปด้วยคุณสมบัติและ พฤติกรรม คือมีคุณลักษณะ (ข้อมูล) ประจําตัว พฤติกรรม หรือการทำงาน แต่วัตถุไม่สามารถทำงานได้ด้วยตนเอง ต้องพึ่งพาอาศัยวัตถุอื่นเข้ามากระตุ้นให้ทำงาน ดังนั้นวัตถุ ในวิธีการเชิงวัตถุ (Objects oriented Methodology) ส่วนมากวัตถุจะถูกกระทำ (Passive Objects)
สาระการเรียนรู้
สาระการเรียนรู้
จุดประสงค์การเรียนรู้
จุดประสงค์การเรียนรู้
สมรรถนะประจำหน่วย
สมรรถนะประจำหน่วย
1. ความหมายและหลักการของวัตถุ
2. แนวคิดเชิงวัตถุ (Object Oriented Concept)
1. บอกความหมายและหลักการคิดเชิงวัตถุได้
2. เข้าใจแนวคิดเชิงวัตถุ (Object Oriented Concept)
แสดงความรู้พื้นฐานเกี่ยวกับหลักการและแนวคิดเชิงวัตถุ
แบบทดสอบก่อนเรียน
แบบทดสอบก่อนเรียน
วัตถุ (Object) คือ สิ่งที่เป็นรูปธรรม และนามธรรม ที่มีอยู่บนโลกของความเป็นจริง (Real World)
2.1 ความหมายและหลักการของวัตถุ
2.1 ความหมายและหลักการของวัตถุ
จะเห็นได้ว่าวัตถุประกอบไปด้วยคุณสมบัติและพฤติกรรม คือมีคุณลักษณะ (ข้อมูล) ประจําตัว พฤติกรรมหรือการทํางาน แต่วัตถุไม่สามารถทํางานได้ด้วยตนเองต้องพึ่งพาอาศัยวัตถุอื่นเข้ามากระตุ้น ให้ทํางาน ดังนั้นวัตถุในวิธีการเชิงวัตถุ (Objects Oriented Methodology) ส่วนมากวัตถุจะถูกกระทํา (Passive Objects) เช่น รถยนต์ ประกอบด้วยเมท็อด การเดินหน้า ถอยหลัง เลี้ยวซ้าย เลี้ยวขวา จะไม่สามารถบังคับการเคลื่อนที่ของรถยนต์ จะต้องมีวัตถุอื่นหรือบุคคลเป็นผู้บังคับหรือขับเคลื่อน
2.1 ความหมายและหลักการของวัตถุ (ต่อ)
2.1 ความหมายและหลักการของวัตถุ (ต่อ)
คือโปรแกรมที่ประกอบไปด้วยกลุ่มหรือชุด (Collection) ของวัตถุ มีหน้าที่รับผิดชอบต่อการจัดการ ข้อมูลของตนเองและติดต่อสื่อสารกับวัตถุอื่น ๆ โดยส่งข่าวสาร (Message)
วิธีการเชิงวัตถุ เป็นแนวคิดที่มองการทำงานของระบบใด ๆ ในกรอบที่สนใจ (Problem Domain) ว่าเกิดจากการทำงานร่วมกันระหว่างวัตถุ
เป็นการสร้างแบบจําลอง (Model) จะเป็นการทำงานร่วมกันระหว่างวัตถุต่าง ๆ การกําหนดวัตถุ จะทำได้โดยการใส่แนวคิด (Concept) ให้กับสิ่งต่าง ๆ ที่อยู่ภายใต้กรอบที่กําหนด เช่น การให้แนวคิดกับ คอมพิวเตอร์ที่คอมพิวเตอร์ทุกเครื่องจะต้องมีเคส หรือตัวถัง ซีพียู เป็นต้น
2.1 ความหมายและหลักการของวัตถุ (ต่อ)
2.1 ความหมายและหลักการของวัตถุ (ต่อ)
คือขอบเขตที่เราสนใจการทํางานของวัตถุต่าง ๆ ที่ร่วมกันทํางานในขอบเขต ระบบหนึ่งจะสามารถ มีวัตถุได้ตั้งแต่ 2 ตัวขึ้นไป
กิจกรรม (Action) ใด ๆ ของวัตถุใด ๆ ที่เกิดจาก
2.1 ความหมายและหลักการของวัตถุ (ต่อ)
2.1 ความหมายและหลักการของวัตถุ (ต่อ)
ความเกี่ยวข้องหรือความสัมพันธ์ระหว่างวัตถุตั้งแต่ 2 ตัวขึ้นไป
หมายถึงปฏิสัมพันธ์หรือการกระทําใด ๆ ที่เกิดขึ้นระหว่างวัตถุ 2 วัตถุขึ้นไป
ตัวอย่างกิจกรรม
แมวกินอาหาร
Relationship : เป็นเจ้าของ
Interaction : กินอาหาร
แมวกับหนู
Relationship : เป็นศัตรู
Interaction : กิน
Object : แมว, อาหาร
Object : แมว, หนู
วัตถุและคลาส (Objects and Classes) Object หมายถึง เอนทิตีในโลกแห่งความเป็นจริง เช่น ปากกา เก้าอี้ โต๊ะคอมพิวเตอร์ นาฬิกา ฯลฯ
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept)
รูป : ตัวอย่างวัตถุ
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
เอนทิตีที่มีสถานะและพฤติกรรมเรียกว่าวัตถุ เช่น เก้าอี้ จักรยาน เครื่องหมาย ปากกา โต๊ะ รถ ฯลฯ ซึ่งอาจเป็นทางกายภาพหรือเชิงตรรกะ (จับต้องได้และจับต้องไม่ได้) ตัวอย่างของวัตถุที่จับต้องไม่ได้คือระบบ ธนาคาร
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
ตัวอย่างเช่น ปากกาเป็นวัตถุ ชื่อของปากกาคือ Reynolds สีเป็นสีขาว หรือที่เรียกว่าสถานะ ใช้ในการเขียน ดังนั้นการเขียนจึงเป็นการแสดงพฤติกรรมของปากกา คลาส คือเทมเพลตหรือแม่แบบพิมพ์เขียว ที่ใช้สร้างอ็อบเจกต์ ดังนั้นวัตถุคืออินสแตนซ์ (ผลลัพธ์) ของคลาส
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
คลาสคือกลุ่มของอ็อบเจกต์ที่มีคุณสมบัติทั่วไป เป็นเทมเพลตหรือพิมพ์เขียวที่ใช้สร้างวัตถุ เป็นเอนทิตีเชิงตรรกะไม่สามารถเป็นกายภาพได้
รูป : Class
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
มีการสืบทอดเป็นกลไกที่อ็อบเจกต์หนึ่งได้รับคุณสมบัติและพฤติกรรมทั้งหมดของอ็อบเจกต์พาเรนต์ เป็นส่วนสําคัญของ OOPs (ระบบการเขียนโปรแกรมเชิงวัตถุ)
แนวคิดเบื้องหลังจากการสืบทอด คือสามารถสร้างคลาสใหม่ที่สร้างขึ้นจากคลาสที่มีอยู่ เมื่อมีการ สืบทอดจากคลาสที่มีอยู่สามารถใช้เมท็อดและฟิลด์ของคลาสพาเรนต์ซ้ำได้ นอกจากนี้ยังสามารถเพิ่ม เมท็อดและฟิลด์ใหม่ในคลาสปัจจุบันด้วย การสืบทอดแสดงถึงความสัมพันธ์ IS-A ซึ่งเรียกอีกอย่างว่า ความสัมพันธ์แม่ลูก
ถ้าคลาสย่อย (คลาสย่อย) มีเมท็อดเดียวกันกับที่ประกาศไว้ในคลาสพาเรนต์เรียกว่าเมท็อดแทนที่ ถ้าคลาสย่อยจัดให้มีการนําเมท็อดไปใช้งานเฉพาะที่ได้รับการประกาศโดยคลาสพาเรนต์หนึ่งในคลาสพาเรนต์ เรียกว่าเมท็อดการแทนที่
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
การลบล้างเมท็อดใช้เพื่อจัดเตรียมการนําเมท็อดไปใช้งานเฉพาะซึ่งมีให้โดยซูเปอร์คลาสวิธีการแทนที่ ใช้สําหรับความหลากหลายของรันไทม์
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
Polymorphism เป็นแนวคิดที่เราสามารถดําเนินการเพียงครั้งเดียวในรูปแบบต่าง ๆ Polymorphism มาจากคําภาษากรีก 2 คํา : poly และ morphs คําว่า “poly” หมายถึงจํานวนมาก และ “morphs” หมายถึงรูปแบบ ความหลากหลายจึงมีความหมายหลายรูปแบบ
Runtime polymorphism หรือ Dynamic Method Dispatch คือกระบวนการที่การเรียกใช้ เมท็อดที่ถูกแทนที่ได้รับการแก้ไขที่รันไทม์แทนที่จะเป็นเวลาคอมไพล์ ในกระบวนการนี้วิธีการแทนที่ ถูกเรียกใช้ผ่านตัวแปรอ้างอิงของซูเปอร์คลาส การกําหนดเมท็อดที่จะเรียกใช้นั้นขึ้นอยู่กับอ็อบเจกต์ ที่ถูกอ้างถึงโดยตัวแปรอ้างอิง
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
ถ้าตัวแปรอ้างอิงของคลาส Parent อ้างถึงอ็อบเจกต์ของคลาส Child เรียกว่า upcasting ตัวอย่าง เช่น
รูป : Upcasting
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
คลาสที่ประกาศด้วยคีย์เวิร์ดนามธรรมเรียกว่าคลาสนามธรรม สามารถมีทั้งวิธีการที่เป็นนามธรรม และไม่ใช่นามธรรม
สิ่งที่เป็นนามธรรมคือกระบวนการซ่อนรายละเอียดการใช้งานและแสดงเฉพาะฟังก์ชันการทํางาน ให้กับผู้ใช้อีกวิธีหนึ่งจะแสดงเฉพาะสิ่งที่จําเป็นต่อผู้ใช้และซ่อนรายละเอียดภายใน ตัวอย่างเช่น การส่ง SMS โดยการพิมพ์ข้อความและส่งข้อความ แต่จะไม่ทราบการประมวลผลภายในเกี่ยวกับการส่งข้อความ
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
การห่อหุ้ม เป็นกระบวนการห่อรหัสและข้อมูลเข้าด้วยกันเป็นหน่วยเดียว ตัวอย่างเช่น แคปซูลที่ผสม ยาหลายชนิด เราสามารถสร้างคลาสที่ห่อหุ้มเต็มรูปแบบได้โดยทำให้สมาชิกข้อมูลทั้งหมดของคลาสเป็นแบบ ส่วนตัว สามารถใช้วิธี setter และ getter เพื่อตั้งค่าและรับข้อมูล
รูป : Points to Remember
ตัวอย่างของคลาสที่ห่อหุ้มอย่างสมบูรณ์
รูป : คลาสที่ห่อหุ้มอย่างสมบูรณ์
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
2.2 แนวคิดเชิงวัตถุ (Object Oriented Concept) (ต่อ)
ข้อดีของการห่อหุ้ม
สรุปหน่วยการเรียนรู้ที่ 2
สรุปหน่วยการเรียนรู้ที่ 2
- สิ่งที่เป็นรูปธรรม (จับต้องได้) เช่น คอมพิวเตอร์ คน แมว ตุ๊กตา ฯลฯ
- สิ่งที่เป็นนามธรรม (จับต้องไม่ได้) เช่น ความคิด ปรากฏการณ์ ฯลฯ
- คุณสมบัติ (Attribute) หรือข้อมูลส่วนตัวของวัตถุ เช่น หน้าตา น้ําหนัก ส่วนสูง ซึ่งระบุข้อมูล (Data)ของวัตถุ เช่น สีปากกา อาจมีข้อมูลเป็น สีน้ําเงิน แดง หรือดํา
- พฤติกรรม (Behavior) หรือเมท็อด (Method) เป็นแสดงการทํางานของวัตถุ เช่น วัตถุแมวอาจประกอบด้วยเมท็อด การร้อง การเดิน
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
คือโปรแกรมที่ประกอบไปด้วยกลุ่มหรือชุด (Collection) ของวัตถุ มีหน้าที่รับผิดชอบต่อการ จัดการข้อมูลของตนเองและติดต่อสื่อสารกับวัตถุอื่น ๆ โดยส่งข่าวสาร (Message)
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
วิธีการเชิงวัตถุ เป็นแนวคิดที่มองการทํางานของระบบใด ๆ ในกรอบที่สนใจ (Problem Domain) ว่าเกิดจากการทํางานร่วมกันระหว่างวัตถุ
เป็นการสร้างแบบจําลอง (Model) จะเป็นการทํางานร่วมกันระหว่างวัตถุต่าง ๆ การกําหนดวัตถุ จะทําได้โดยการใส่แนวคิด (Concept) ให้กับสิ่งต่าง ๆ ที่อยู่ภายใต้กรอบที่กําหนด เช่น การให้แนวคิดกับคอมพิวเตอร์ที่คอมพิวเตอร์ทุกเครื่องจะต้องมีเคส หรือตัวถัง ซีพียู เป็นต้น
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
คือ ขอบเขตที่สนใจการทํางานของวัตถุต่าง ๆ ที่ร่วมกันทํางานในขอบเขต ระบบหนึ่งจะสามารถ มีวัตถุได้ตั้งแต่ 2 ตัวขึ้นไป
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
ความเกี่ยวข้องหรือความสัมพันธ์ระหว่างวัตถุตั้งแต่ 2 ตัวขึ้นไป
หมายถึง ปฏิสัมพันธ์หรือการกระทําใด ๆ ที่เกิดขึ้นระหว่างวัตถุ 2 วัตถุขึ้นไป
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
หมายถึง เอนทิตีในโลกแห่งความเป็นจริง เช่น ปากกา เก้าอี้ โต๊ะ คอมพิวเตอร์ นาฬิกา ฯลฯ
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
คือ ระเบียบวิธีหรือกระบวนทัศน์ในการออกแบบโปรแกรมโดยใช้คลาสและอ็อบเจกต์ ช่วยลด ความยุ่งยากในการพัฒนาและบำรุงรักษาซอฟต์แวร์ ประกอบไปด้วย
วัตถุและคลาส (Objects and Classes)
- Object
- Class
- Inheritance
- Polymorphism
- Abstraction
- Encapsulation
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
หมายถึง กลุ่มของอ็อบเจ็กต์ที่มีคุณสมบัติทั่วไป เป็นเทมเพลตหรือพิมพ์เขียวที่ใช้สร้างวัตถุ เป็น เอนทิตีเชิงตรรกะไม่สามารถเป็นกายภาพได้
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
มีการสืบทอดเป็นกลไกที่อ็อบเจกต์หนึ่งได้รับคุณสมบัติและพฤติกรรมทั้งหมดของอ็อบเจกต์ พาเรนต์ เป็นส่วนสำคัญของ OOPs
- Fields
- Methods
- Constructors
- Blocks
- Nested class and interface
- Field
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
เป็นแนวคิดที่เราสามารถดําเนินการเพียงครั้งเดียวในรูปแบบต่างๆ Polymorphism มาจากคํา ภาษากรีก 2 คํา : poly และ morphs คําว่า “poly” หมายถึงจํานวนมาก และ “morphs” หมายถึง รูปแบบ ความหลากหลายจึงมีความหมายหลายรูปแบบ
สรุปหน่วยการเรียนรู้ที่ 2 (ต่อ)
นยามศัพท์
นิยามศัพท์
แบบทดสอบหลังเรียน
แบบทดสอบหลังเรียน
หน่วยการเรียนรู้ที่
2
ขอบคุณครับ/ค่ะ
สิ้นสุดเนื้อหา
สิ้นสุดเนื้อหา