Leçon 6 : Composition plutôt qu'héritage
public class Car : Engine ressemble à un raccourci pratique — jusqu'à ce qu'on découvre que chaque méthode du moteur fuit sur la voiture, que chaque changement du moteur casse la voiture, et qu'une voiture avec deux types de moteur devient impossible. Dans cette leçon, on remplace l'héritage par un
La composition, c'est comme une boîte à outils : au lieu de naître « homme-marteau », un professionnel tient un marteau et le change au besoin. L'héritage soude le marteau à la main pour toujours.
- composition plutôt qu'héritage
- Quand la relation réelle est « a un », on détient l'objet comme champ privé et on lui délègue — au lieu d'hériter et de traîner une hiérarchie fragile et une API qui fuit.
- relation « a un » (has-a)
- Une relation où un objet détient un autre objet comme champ et l'utilise — contrairement à « est un » (is-a), où une classe hérite et prétend être une sorte de sa base.