L-erba' pilastri huma Encapsulation, Abstraction, Inheritance, u Polymorphism. Flimkien, huma jiddeskrivu kif OOP torganizza u tirriċikla l-kodiċi.
L-erba' pilastri huma Encapsulation, Abstraction, Inheritance, u Polymorphism. Flimkien, huma jiddeskrivu kif OOP torganizza u tirriċikla l-kodiċi.
| Pillar | Idea ċentrali |
|---|
| Encapsulation | Gabbel data + imġieba; aħbi l-istat intern waraħ interfaċċja kontrollata |
| Abstraction | Esponi x'inhu li jagħmel oġġett, aħbi kif jagħmel |
| Inheritance | Subklassi tirriùza u testendi l-klassi tal-ġenitur |
| Polymorphism | Interfaċċja waħda, bosta implimentazzjonijiet magħżula f'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
Dawk il-partiti huma għodda, mhux miri. Tiddoqq l-ertiċi jew l-astrazzjoni fejn mhix meħtieġa għaddej lejn il-kumplettezza. Għaż-żewġ li toqgħod mal-problema.
Dwi l-erba' kliem li huma l-vokabularji kondiviż tad-disinn OOP — intervisti u reviżjonijiet tal-kodiċi jassumu li inti tfahmhom.
Kull pilastru jipprojetta għal benefiċċju konkretu: l-enkapsulazzjoni tipproteġi l-inverjabbli, l-astrazzjoni titnaqqas dak li l-għandek tifhem, l-ertiċi u l-polimorfizmu jippermettu r-riċiklaġġ u l-estensibilità.