Please enable JavaScript.
Coggle requires JavaScript to display documents.
หลักการของการเขียนโปรแกรมเชิงวัตถุ 4 หลักการ - Coggle Diagram
หลักการของการเขียนโปรแกรมเชิงวัตถุ 4 หลักการ
4. Abstraction (นามธรรม)
Abstraction คือการ แสดงเฉพาะสิ่งที่จำเป็นต่อการใช้งาน และซ่อนรายละเอียดที่ซับซ้อน
แนวคิดสำคัญ
ผู้ใช้รู้ว่า “ใช้ยังไง”
ไม่จำเป็นต้องรู้ว่า “ทำงานยังไงข้างใน”
มักใช้ผ่าน
Abstract Class
Interface
ตัวอย่างแนวคิด
การขับรถ
รู้แค่เร่ง เบรก เลี้ยว
ไม่ต้องรู้การทำงานของเครื่องยนต์ภายใน
ประโยชน์
ลดความซับซ้อน
ทำให้ระบบเข้าใจง่าย
1. Encapsulation (การห่อหุ้มข้อมูล)
Encapsulation คือการรวมข้อมูลและเมธอดไว้ในคลาสเดียวกัน และ ปกปิดข้อมูลภายใน ไม่ให้เข้าถึงโดยตรงจากภายนอก
แนวคิดสำคัญ
ข้อมูลภายในควรถูกเข้าถึงผ่านเมธอดเท่านั้น
ใช้ Access Modifier ควบคุมการเข้าถึง เช่น
private → ใช้ได้เฉพาะในคลาส
protected → ใช้ได้ในคลาสและคลาสลูก
public → ใช้ได้ทุกที่
ตัวอย่างแนวคิด
ไม่ให้แก้ไขยอดเงินในบัญชีโดยตรง
ต้องใช้เมธอด deposit() หรือ withdraw()
ประโยชน์
ป้องกันข้อมูลเสียหาย
ลดความผิดพลาดจากการใช้งานผิดวิธี
ทำให้โค้ดปลอดภัยและเป็นระบบมากขึ้น
2. Inheritance (การสืบทอดคุณสมบัติ)
Inheritance คือการที่คลาสหนึ่งสามารถ สืบทอดคุณสมบัติและเมธอด จากอีกคลาสหนึ่งได้
แนวคิดสำคัญ
คลาสแม่ (Superclass) → คลาสพื้นฐาน
คลาสลูก (Subclass) → คลาสที่สืบทอดไปใช้
คลาสลูกสามารถ
ใช้ของเดิมได้
เพิ่มความสามารถใหม่
ปรับเปลี่ยนการทำงานบางส่วน
ตัวอย่างแนวคิด
Vehicle → มีความเร็ว มีการเคลื่อนที่
Car และ Motorcycle → สืบทอดจาก Vehicle
ประโยชน์
ลดการเขียนโค้ดซ้ำ
เพิ่มความเป็นลำดับชั้นของระบบ
ทำให้โค้ดดูแลและขยายง่าย
3. Polymorphism (พหุรูปแบบ)
Polymorphism คือความสามารถที่ เมธอดชื่อเดียวกัน สามารถทำงานแตกต่างกันได้ ขึ้นอยู่กับวัตถุที่เรียกใช้
แนวคิดสำคัญ
“เรียกเหมือนกัน แต่ทำงานไม่เหมือนกัน”
เกิดได้จาก
Method Overriding
Interface
Method Overloading (บางภาษา)
ตัวอย่างแนวคิด
เมธอด draw()
วงกลม → วาดเป็นวงกลม
สี่เหลี่ยม → วาดเป็นสี่เหลี่ยม
ประโยชน์
ทำให้โค้ดยืดหยุ่น
รองรับการขยายระบบในอนาคต