Please enable JavaScript.
Coggle requires JavaScript to display documents.
สรุปหลักการของการเขียนโปรแกรมเชิงวัตถุ 4 หลักการ - Coggle Diagram
สรุปหลักการของการเขียนโปรแกรมเชิงวัตถุ 4 หลักการ
Encapsulation
หลักการสำคัญในการเขียนโปรแกรมเชิงวัตถุ (OOP) และเทคโนโลยีอื่น ๆ ที่ รวมข้อมูล (data) และฟังก์ชัน (methods) ที่ทำงานกับข้อมูลนั้นเข้าไว้ด้วยกันเป็นหน่วยเดียว (คลาส) และ ซ่อนรายละเอียดการทำงานภายใน โดยให้ผู้ใช้เข้าถึงได้ผ่านอินเทอร์เฟซที่กำหนดไว้เท่านั้น เพื่อ ป้องกันการเข้าถึงข้อมูลโดยตรงจากภายนอก, ควบคุมการเปลี่ยนแปลงข้อมูล, และทำให้โค้ด เป็นระเบียบ,
ประโยชน์
ความปลอดภัยของข้อมูล: ป้องกันการเปลี่ยนแปลงข้อมูลภายในโดยไม่ได้รับอนุญาต.
การจัดการที่ง่ายขึ้น: ผู้ใช้ไม่จำเป็นต้องรู้รายละเอียดการทำงานภายใน แค่เรียกใช้ผ่านอินเทอร์เฟซที่กำหนด.
ความยืดหยุ่น & นำกลับมาใช้ซ้ำได้: เปลี่ยนแปลงการทำงานภายในได้โดยไม่กระทบโค้ดภายนอก
หลักการสำคัญ
การรวมกัน (Bundling): รวมข้อมูล (Properties) และพฤติกรรม (Methods) ที่เกี่ยวข้องกันไว้ใน Class เดียว.
การซ่อนข้อมูล (Information Hiding): ทำให้ข้อมูลภายในเป็นส่วนตัว (private) และเปิดเผยเฉพาะส่วนที่จำเป็น (public interface) ให้ภายนอกเรียกใช้ได้.
การควบคุมการเข้าถึง (Access Control): ใช้เมธอดสาธารณะ เช่น getter (สำหรับอ่านค่า) และ setter(สำหรับแก้ไขค่า) เพื่อจัดการการเข้าถึงข้อมูลภายในอย่างมีระเบียบ
Inheritance
หลักการพื้นฐานใน การเขียนโปรแกรมเชิงวัตถุ (OOP) ที่อนุญาตให้คลาสใหม่ (คลาสลูก/Subclass) รับคุณสมบัติ (Attributes) และพฤติกรรม (Methods) จากคลาสเดิม (คลาสแม่/Superclass) มาใช้ได้โดยอัตโนมัติ เพื่อลดการเขียนโค้ดซ้ำซ้อน สร้างโค้ดที่นำกลับมาใช้ใหม่ได้ง่ายขึ้น และจัดโครงสร้างโปรแกรมให้เป็นลำดับชั้น ทำให้โปรแกรมขยายตัวและดูแลรักษาง่ายขึ้
ประโยชน์หลัก
ลดความซ้ำซ้อนของโค้ด (DRY - Don't Repeat Yourself).
เพิ่มความยืดหยุ่นในการขยายและแก้ไขโปรแกรม.
สร้างโครงสร้างโปรแกรมที่เป็นระเบียบและเข้าใจง่าย.
สาระสำคัญของ Inheritance
คลาสแม่ (Superclass/Parent Class): คลาสต้นแบบที่เก็บคุณสมบัติและพฤติกรรมทั่วไป.
คลาสลูก (Subclass/Derived Class): คลาสที่สืบทอดมาจากคลาสแม่ และได้รับคุณสมบัติทั้งหมด (ยกเว้น private) พร้อมทั้งสามารถเพิ่มคุณสมบัติใหม่หรือปรับเปลี่ยนของเดิมได้ (Override).
การนำโค้ดกลับมาใช้ใหม่ (Code Reusability): แทนที่จะเขียนโค้ดซ้ำๆ คลาสลูกสามารถใช้โค้ดที่อยู่ในคลาสแม่ได้เลย
Polymorphism
คือแนวคิดหลักใน OOP ที่ทำให้วัตถุต่างชนิดกันสามารถมีพฤติกรรมแตกต่างกันแต่ใช้เมธอด/อินเทอร์เฟซเดียวกันได้ ทำให้โค้ดมีความยืดหยุ่น นำกลับมาใช้ซ้ำได้ และเขียนในรูปแบบนามธรรม
สรุปหลักการสำคัญ
ความหมาย: มาจากคำว่า "Poly" (หลาย) + "Morph" (รูปแบบ) คือ "หลายรูปแบบ".
แนวคิด: ใช้อินเทอร์เฟซเดียวกัน (เมธอดชื่อเดียวกัน) แต่ทำงานแตกต่างกันในแต่ละคลาส.
ประโยชน์:
Code Reusability: เขียนโค้ดครั้งเดียวใช้ได้หลายที่.
Flexibility & Extensibility: รองรับการเพิ่มคลาสใหม่ได้ง่ายโดยไม่ต้องแก้โค้ดเดิม.
Abstraction: ซ่อนรายละเอียดการทำงานภายใน ทำให้โค้ดจัดการง่าย.
Abstraction
การสรุปสาระสำคัญโดยการละทิ้งรายละเอียดที่ไม่จำเป็น เพื่อให้เข้าใจแนวคิดหรือระบบที่ซับซ้อนได้ง่ายขึ้น โดยเน้นที่ "อะไร" ที่ระบบทำได้ ไม่ใช่ "อย่างไร" ที่มันทำ.
ประโยชน์:
ลดความซับซ้อน: ทำให้ระบบใหญ่ๆ หรือปัญหาซับซ้อนจัดการได้ง่ายขึ้น.
เพิ่มความยืดหยุ่น: โค้ดหรือระบบที่ใช้ Abstraction จะปรับเปลี่ยนหรือใช้งานต่อได้ง่าย.
การทำงานร่วมกัน: ทำให้ผู้ใช้และผู้พัฒนาเข้าใจระบบได้โดยไม่ต้องรู้รายละเอียดทั้งหมด.
หลักการสำคัญ:
ซ่อนรายละเอียด: ปกปิดกลไกการทำงานภายในที่ซับซ้อน และแสดงเฉพาะส่วนที่ผู้ใช้หรือระบบอื่นต้องการใช้งาน.
เน้นส่วนสำคัญ: มุ่งเน้นคุณลักษณะที่จำเป็นเพื่อแก้ปัญหา ทำให้ง่ายต่อการจัดการและนำไปใช้ซ้ำได้