Οι τέσσερις στύλοι είναι Encapsulation, Abstraction, Inheritance, και Polymorphism. Μαζί περιγράφουν πώς η OOP οργανώνει και επαναχρησιμοποιεί τον κώδικα.
| Στύλος | Βασική ιδέα |
|---|
| Encapsulation | Συσκευάστε δεδομένα + συμπεριφορά· κρύψτε την εσωτερική κατάσταση πίσω από ένα ελεγχόμενο interface |
| Abstraction | Εκθέστε τι κάνει ένα αντικείμενο, κρύψτε πώς το κάνει |
| Inheritance | Μια υποκλάση επαναχρησιμοποιεί και επεκτείνει μια κλάση γονέα |
| Polymorphism | Ένα interface, πολλές υλοποιήσεις που επιλέγονται την ώρα εκτέλεσης |
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
Αυτά είναι εργαλεία, όχι στόχοι. Η εξαναγκασμένη χρήση inheritance ή abstraction όπου δεν χρειάζεται δημιουργεί πολυπλοκότητα. Επιλέξτε τον στύλο που ταιριάζει στο πρόβλημα.
Αυτές οι τέσσερις λέξεις είναι το κοινό λεξιλόγιο του σχεδιασμού OOP — οι συνεντεύξεις και οι κριτικές κώδικα υποθέτουν ότι τις γνωρίζετε.
Κάθε στύλος αντιστοιχεί σε ένα συγκεκριμένο όφελος: το encapsulation προστατεύει τα αναλλοίωτα, το abstraction μειώνει αυτό που πρέπει να κατανοήσετε, το inheritance και το polymorphism ενεργοποιούν την επαναχρησιμοποίηση και την επεκτασιμότητα.
Μια βιβλιοθήκη ερωτήσεων συνέντευξης IT με αναλυτικές απαντήσεις — από Junior έως Senior.
Δωρεά