Četiri stupa su Encapsulation, Abstraction, Inheritance i Polymorphism. Zajedno oni opisuju kako OOP organizira i ponovno koristi kod.
| Stup | Glavna ideja |
|---|
| Encapsulation | Upakiraj podatke + ponašanje; sakrij interno stanje iza kontroliranog sučelja |
| Abstraction | Otkri što objekt radi, sakrij kako to radi |
| Inheritance | Potklasa ponovno koristi i proširuje nadklasu |
| Polymorphism | Jedno sučelje, mnogo implementacija izabranih pri izvršavanju |
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
Ova su alati, ne ciljevi. Forsiranje inheritance ili abstraction gdje nisu potrebni stvaraju složenost. Posegni za stupom koji odgovara problemu.
Ove četiri riječi su zajednički vokabular OOP dizajna — intervjui i pregledi koda pretpostavljaju da ih poznajete.
Svaki stup mapira na konkretnu korist: encapsulation štiti invarijante, abstraction smanjuje što trebate razumjeti, inheritance i polymorphism omogućavaju ponovno korištenje i proširivost.
Knjižnica IT pitanja za razgovore za posao s detaljnim odgovorima — od Juniora do Seniora.
Doniraj