Sobes.tech
Junior — Middle

Que signifie le concept de composition en programmation orientée objet?

sobes.tech IA

Réponse de l'IA

En programmation orientée objet, la composition est un principe selon lequel un objet contient des références à d’autres objets pour utiliser leur fonctionnalité. C’est une façon de construire des objets complexes à partir d’objets plus simples, où un objet « est composé » d’autres.

La composition diffère de l’héritage en ce que, au lieu d’étendre une classe par héritage, un objet inclut d’autres objets et leur délègue une partie du travail. Cela augmente la flexibilité et la réutilisation du code.

Exemple en Swift :

class Engine {
    func start() {
        print("Moteur démarré")
    }
}

class Car {
    private let engine = Engine()  // composition : Car contient Engine

    func startCar() {
        engine.start()  // délégation du démarrage du moteur
    }
}

let car = Car()
car.startCar()  // Affichera : Moteur démarré

Ici, la classe Car est composée d’un objet Engine et utilise ses méthodes, sans en hériter.