Los cuatro pilares son Encapsulation, Abstraction, Inheritance y Polymorphism. Juntos describen cómo la POO organiza y reutiliza el código.
Los cuatro pilares son Encapsulation, Abstraction, Inheritance y Polymorphism. Juntos describen cómo la POO organiza y reutiliza el código.
| Pilar | Idea central |
|---|
| Encapsulation | Agrupar datos + comportamiento; ocultar el estado interno detrás de una interfaz controlada |
| Abstraction | Exponer qué hace un objeto, ocultar cómo lo hace |
| Inheritance | Una subclase reutiliza y extiende una clase padre |
| Polymorphism | Una interfaz, muchas implementaciones elegidas en tiempo de ejecución |
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
Estas son herramientas, no objetivos. Forzar herencia o abstracción donde no es necesaria crea complejidad. Utiliza el pilar que se ajuste al problema.
Estas cuatro palabras son el vocabulario compartido del diseño de POO — las entrevistas y las revisiones de código asumen que las conoces.
Cada pilar se asigna a un beneficio concreto: la encapsulation protege las invariantes, la abstraction reduce lo que debes entender, la inheritance y la polymorphism permiten la reutilización y la extensibilidad.