الأركان الأربعة هي Encapsulation و Abstraction و Inheritance و Polymorphism. معاً، تصف كيفية تنظيم وإعادة استخدام الكود في البرمجة الكائنية التوجه.
| الركن | الفكرة الأساسية |
|---|
| 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
هذه أدوات، وليست أهدافاً. فرض الوراثة أو التجريد حيث لا يكون مطلوباً يخلق تعقيداً. استخدم الركن الذي يناسب المشكلة.
هذه الكلمات الأربع تمثل المفردات المشتركة لتصميم البرمجة الكائنية التوجه — المقابلات الوظيفية ومراجعات الكود تفترض أنك تعرفها.
كل ركن يرتبط بفائدة ملموسة: Encapsulation يحمي الثوابت، Abstraction يقلل ما يجب أن تفهمه، Inheritance و Polymorphism يمكنان إعادة الاستخدام والقابلية للتوسع.