Junior — Middle
Was versteht man unter dem Konzept der Komposition in der objektorientierten Programmierung?
sobes.tech KI
Antwort von AI
In der objektorientierten Programmierung ist Komposition ein Prinzip, bei dem ein Objekt Referenzen auf andere Objekte enthält, um deren Funktionalität zu nutzen. Es ist eine Methode, komplexe Objekte aus einfacheren zu erstellen, wobei ein Objekt "aus" anderen besteht.
Komposition unterscheidet sich von Vererbung darin, dass anstelle der Erweiterung einer Klasse durch Vererbung ein Objekt andere Objekte einschließt und ihnen einen Teil der Arbeit delegiert. Dies erhöht die Flexibilität und Wiederverwendbarkeit des Codes.
Beispiel in Swift:
class Engine {
func start() {
print("Motor gestartet")
}
}
class Car {
private let engine = Engine() // Komposition: Car enthält Engine
func startCar() {
engine.start() // Delegation des Motorstarts
}
}
let car = Car()
car.startCar() // Gibt aus: Motor gestartet
Hier besteht die Klasse Car aus einem Engine-Objekt und nutzt dessen Methoden, ohne von ihm zu erben.