Die vier Säulen sind Encapsulation, Abstraction, Inheritance und Polymorphism. Zusammen beschreiben sie, wie OOP Code organisiert und wiederverwandt.
Die vier Säulen sind Encapsulation, Abstraction, Inheritance und Polymorphism. Zusammen beschreiben sie, wie OOP Code organisiert und wiederverwandt.
| Säule | Kernidee |
|---|
| Encapsulation | Daten + Verhalten bündeln; den internen Zustand hinter einer kontrollierten Schnittstelle verstecken |
| Abstraction | Expose, was ein Objekt tut, verberge, wie es das tut |
| Inheritance | Eine Subklasse verwendet eine Elternklasse wieder und erweitert sie |
| Polymorphism | Eine Schnittstelle, viele Implementierungen, die zur Laufzeit gewählt werden |
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
Dies sind Werkzeuge, keine Ziele. Vererbung oder Abstraction zu erzwingen, wo sie nicht benötigt werden, schafft Komplexität. Greifen Sie zur Säule, die zum Problem passt.
Diese vier Wörter sind das gemeinsame Vokabular des OOP-Designs — Interviews und Code Reviews setzen voraus, dass Sie sie kennen.
Jede Säule entspricht einem konkreten Vorteil: Encapsulation schützt Invarianten, Abstraction reduziert das, was Sie verstehen müssen, Inheritance und Polymorphism ermöglichen Wiederverwendung und Erweiterbarkeit.