Please enable JavaScript.
Coggle requires JavaScript to display documents.
Principle of Object-Oriented Programming (การห่อหุ้ม (Encapsulation)…
Principle of
Object-Oriented Programming
Abstraction
การกำจัดข้อมูลที่ไม่เกี่ยวข้องทิ้งไปให้เหลือข้อมูลที่ต้องการเท่านั้นการแทนวัตถุที่มีอยู่ในโลกความจริงลงในระบบคอมพิวเตอร์ต้องพิจารณาถึงคุณสมบัติของวัตถุนั้น เป็นไปไม่ได้ที่จะพิจารณาคุณสมบัติทุกข้อของวัตถุที่มีอยู่จริง
เป็นวิธีมองวัตถุโดยพิจารณาว่า มีคุณสมบัติใดบ้างที่จะแทนวัตถุนั้นโดยพิจารณา คุณสมบัติที่เกี่ยวข้องกับวัตถุสำหรับในการแก้ปัญหาใดปัญหาหนึ่งเท่านั้น
การห่อหุ้ม (Encapsulation)
การจะเรียกใช้คุณลักษณพของออปเจ็ค จะทำได้โดยการเรียกผ่านเมธอดเท่านั้น
หลักการของการห่อหุ้ม คือ การกำหนดให้คุณลักษณะของออปเจคมีคุณสมบัติเป็น private และทำให้มเธอดมีคุณสมบัติเป็น public
ต้องการซ่อนข้อมูลของวัตถุไว้ผู้ใช้งานไม่จำเป็นต้องทราบรายละเอียดต่างๆของวัตถุนั้น เพียงทราบถึงวิธีใช้วัตถุนั้นก็เพียงพอ
เป็นองค์ประกอบที่สำคัญอีกหนึ่งประการของการเขียนโปรแกรมเชิงวัตถุ ซึี่งหมายถึงการนำการปฎิบัติการ (operation) รวมเป็นส่วนหนึ่งของวัตถุ
โดยมีเมธอด get/set ไว้เพื่อเข้าถึง data นั้นๆ จะเรียกว่า class นั้นๆ เป็น full Encapsulation class
ข้อดีของการห่อหุ้ม(Encapsulation)
Flexibility มีความยืดหยุ่นสูง การใช้งาน method ใน oop นั้นมี ความยืดหยุ่นสูงกว่าการใช้งาน Data Frields ใน oblect โดยตรง
maintainability การดูแลรักษาง่าย เพราะหากมีการเปลี่ยนแปลงภายใน object ใดๆ หากว่าส่วนติดต่อกับ object อื่นยังคงเดิมเดิมแล้วก็ย่อมไม่ส่งกระทบต่องานทั้งระบบ
Information Hiding การซ้อนเร้นข้อมูลทำให้ออปเจ็คสามารถติดต่อออปเจ็คสามารถติดต่ิกับส่วนของ Interface เท่านั้น
Modularity การพัฒนาโปรแกรมเชิงวัตถุจะสามารถกำหนดให้ออปเจ็คแต่ละออปเจ็คมีความเป็นอิสระต่อกัน
Inheritance
class หนึ่งๆ สามารถสืบทอดคุณสมบัติบางประการจาก class อื่น แล้วเพิ่มคุณสมบัตืเฉพาะของ class นั้นเข้าไป
class ที่ได้รับการเลือกสืบทอดคุณสมบัติเรียกว่า Subclass
class ที่เป็นต้นแบบเรียกว่า superclass
เป็นการช่วยให้ไม่ต้องพัฒนา ส่วนที่ซ้ำหลายๆรอบ (Reusable) class หนึ่งๆจะมี superclass ได้เพียง class เดียวเท่านั้น (single Inheritance) ในภาษาจาวาจะใช้คีย์เวริร์ด extends เพื่อระบุการสืบทอด
การนิยามคลาสใหม่จากคลาสที่มีอยู่แล้ว โดยคลาสใหม่สามารถที่จะนำคุณลักษณะและเมธอดของคลาสเดิมมาใช้ได้
Polymorphism
แนวคิดของ Polymorphism ในการเขียนโปรแกรมความหมายของมันมีได้หลายรูปแบบ
โดยใน sub class นั้นได้มีการกำหนดการทำงานใหม่ให้กับเมธอดให้ตรงกับวัตถุประสงค์ของคลาสนั้น หรือการ Override method
หลังจากนั้นเราสามารถใช้ super class สำหรับการประกาศตัวแปรของออปเจ็ค (class intance) ที่สร้างออปเจ็คจาก sub class ได้
การสร้างออปเจ็คโดยเป็นออปเจ็คที่สร้างมาจากคลาสที่มี super class เดียวกัน
การที่ออกแบบออบเจ็คสามารถมีได้หลายรูปแบบ ซึ่งเกิดจากการสืบทอดจาก super class และมันยังคงรักษาสภาพและคุณสมบัติของ super class ไว้
วัตถุ(object)
เมธอด (method) หรือพฤติกรรม (behavior)
คุณลักษณะ (attribute) หรือข้อมูล (data) ข้อมูลของ object แต่ละ object อาจมีข้อมูลที่แตกต่างกัน
คุณลักษณะ(attribute) หรือข้อมูล (data)
เมธอด (method) หรือพฤติกรรม (behavior) สิ่งที่ object สามารถกระทำได้
คลาส(Class)
ออปเจ็คที่ถูกสร้างมาจากคลาส บางครั้งเรียกว่าเป็น Instance ของคลาส คลาสหนึ่งสามารถสร้างออปเจ็คได้หลายออปเจ็ค
object นั้นจะถูกสร้างขึ้นตามกระบวนการการทำงานของ JVM โดยที่นักพัฒนาจะต้องนิยาม Class ที่ต้องการให้กับ JVM