Les quatre piliers sont Encapsulation, Abstraction, Héritage et Polymorphisme. Ensemble, ils décrivent comment la POO organise et réutilise le code.
Les quatre piliers sont Encapsulation, Abstraction, Héritage et Polymorphisme. Ensemble, ils décrivent comment la POO organise et réutilise le code.
| Pilier | Idée centrale |
|---|
| Encapsulation | Regrouper les données + le comportement ; masquer l'état interne derrière une interface contrôlée |
| Abstraction | Exposer ce qu' un objet fait, masquer comment il le fait |
| Héritage | Une sous-classe réutilise et étend une classe parente |
| Polymorphisme | Une interface, de nombreuses implémentations choisies à l'exécution |
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
Ces outils ne sont pas des objectifs. Forcer l'héritage ou l'abstraction là où ce n'est pas nécessaire crée de la complexité. Utilisez le pilier qui s'adapte au problème.
Ces quatre mots sont le vocabulaire partagé de la conception POO — les entretiens et les révisions de code supposent que vous les connaissez.
Chaque pilier correspond à un bénéfice concret : l'encapsulation protège les invariants, l'abstraction réduit ce que vous devez comprendre, l'héritage et le polymorphisme permettent la réutilisation et l'extensibilité.