Cei patru piloni sunt Encapsulation, Abstraction, Inheritance și Polymorphism. Împreună, ei descriu modul în care OOP organizează și reutilizează codul.
Cei patru piloni sunt Encapsulation, Abstraction, Inheritance și Polymorphism. Împreună, ei descriu modul în care OOP organizează și reutilizează codul.
| Pilon | Ideea centrală |
|---|
| Encapsulation | Grupează date + comportament; ascunde starea internă în spatele unei interfețe controlate |
| Abstraction | Expune ce face un obiect, ascunde cum o face |
| Inheritance | O subclasă reutilizează și extinde o clasă părinte |
| Polymorphism | O interfață, mai multe implementări alese la runtime |
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
Acestea sunt instrumente, nu obiective. Forțarea moștenirii sau abstractizării acolo unde nu este nevoie creează complexitate. Alegeți pilonul care se potrivește cu problema.
Aceste patru cuvinte sunt vocabularul partajat al designului OOP — interviurile și revizuirile de cod presupun că le cunoști.
Fiecare pilon se mapează la un beneficiu concret: encapsulation protejează invarianții, abstraction reduce ceea ce trebuie să înțelegi, inheritance și polymorphism permit reutilizarea și extensibilitatea.