Junior — Middle
Wat wordt bedoeld met het concept van samenstelling in objectgeoriënteerd programmeren?
sobes.tech AI
Antwoord van AI
In objectgeoriënteerd programmeren is compositie een principe waarbij één object verwijzingen bevat naar andere objecten om hun functionaliteit te gebruiken. Het is een manier om complexe objecten op te bouwen uit eenvoudigere, waarbij één object "uit" anderen bestaat.
Compositie verschilt van overerving doordat, in plaats van een klasse uit te breiden via overerving, een object andere objecten bevat en een deel van het werk aan hen delegeert. Dit verhoogt de flexibiliteit en hergebruik van code.
Voorbeeld in Swift:
class Engine {
func start() {
print("Motor gestart")
}
}
class Car {
private let engine = Engine() // compositie: Car bevat Engine
func startCar() {
engine.start() // delegeren van het starten van de motor
}
}
let car = Car()
car.startCar() // Toont: Motor gestart
Hier bestaat de klasse Car uit een Engine-object en gebruikt diens methoden, zonder er van te erven.