Junior — Middle
Τι εννοείται με την έννοια της σύνθεσης στον αντικειμενοστραφή προγραμματισμό;
sobes.tech AI
Απάντηση από AI
Στον αντικειμενοστραφή προγραμματισμό, η σύνθεση είναι μια αρχή κατά την οποία ένα αντικείμενο περιέχει αναφορές σε άλλα αντικείμενα για να χρησιμοποιήσει τη λειτουργικότητά τους. Είναι ένας τρόπος να κατασκευάσουμε πολύπλοκα αντικείμενα από απλούστερα, όπου ένα αντικείμενο "αποτελείται" από άλλα.
Η σύνθεση διαφέρει από την κληρονομικότητα στο ότι, αντί να επεκτείνουμε μια κλάση μέσω κληρονομικότητας, ένα αντικείμενο περιλαμβάνει άλλα αντικείμενα και τους αναθέτει μέρος της εργασίας. Αυτό αυξάνει την ευελιξία και την επανάχρηση κώδικα.
Παράδειγμα σε Swift:
class Engine {
func start() {
print("Ο κινητήρας ξεκίνησε")
}
}
class Car {
private let engine = Engine() // σύνθεση: Το Car περιέχει τον κινητήρα
func startCar() {
engine.start() // αναθέτουμε την εκκίνηση του κινητήρα
}
}
let car = Car()
car.startCar() // Θα εμφανίσει: Ο κινητήρας ξεκίνησε
Εδώ, η κλάση Car αποτελείται από ένα αντικείμενο Engine και χρησιμοποιεί τις μεθόδους του, χωρίς να κληρονομεί από αυτό.