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