เสาหลักทั้งสี่คือ Encapsulation, Abstraction, Inheritance และ Polymorphism ร่วมกัน พวกเขาอธิบายว่า OOP จัดองค์กรและนำโค้ดกลับมาใช้ใหม่อย่างไร
เสาหลักทั้งสี่คือ Encapsulation, Abstraction, Inheritance และ Polymorphism ร่วมกัน พวกเขาอธิบายว่า OOP จัดองค์กรและนำโค้ดกลับมาใช้ใหม่อย่างไร
| เสาหลัก | แนวคิดหลัก |
|---|
| Encapsulation | รวมข้อมูล + พฤติกรรม ซ่อนสถานะภายในอยู่เบื้องหลังอินเตอร์เฟซที่ควบคุม |
| Abstraction | เปิดเผย สิ่งที่ วัตถุทำ ซ่อน วิธี ที่มันทำ |
| Inheritance | คลาสย่อยใช้งานและขยายคลาสหลัก |
| Polymorphism | อินเตอร์เฟซเดียว การใช้งานหลายแบบที่เลือกในเวลารันไทม์ |
abstract class Shape { // ABSTRACTION: "what", not "how"
abstract double area(); // each shape decides its own formula
}
class Circle extends Shape { // INHERITANCE: Circle is a Shape
private double r; // ENCAPSULATION: r is private
Circle(double r) { this.r = r; }
double area() { return Math.PI * r * r; } // POLYMORPHISM: own area()
}
class Square extends Shape {
private double s;
Square(double s) { this.s = s; }
double area() { return s * s; }
}
Shape shape = new Circle(2); // POLYMORPHISM in action:
System.out.println(shape.area()); // calls Circle.area() at runtime
เหล่านี้คือ เครื่องมือ ไม่ใช่เป้าหมาย การบังคับใช้การสืบทอดหรือสิ่งที่ไม่จำเป็นสร้างความซับซ้อน ติดตามเสาหลักที่เหมาะสมกับปัญหา
คำสี่คำนี้คือคำศัพท์ร่วมของการออกแบบ OOP — สัมภาษณ์และการตรวจสอบโค้ดสันนิษฐานว่าคุณรู้จักพวกเขา
แต่ละเสาหลักแมปไปยังประโยชน์ที่เป็นรูปธรรม: การห่อหุ้มปกป้องตัวแปรคงที่ การแสดงเป็นนามธรรมลดสิ่งที่คุณต้องเข้าใจ การสืบทอดและพหุรูปแบบเปิดใช้งานการนำกลับมาใช้ใหม่และความสามารถในการขยาย