Sobes.tech
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.