Leçon 15 : composition contre héritage
Une voiture a un moteur — mais elle n'est pas un type de moteur. Pour les relations « a-un », il existe un second outil, étonnamment simple : stocker un objet comme attribut d'un autre objet. C'est la composition — et le choix entre elle et l'héritage est l'une des décisions clés de la conception.
L'héritage, c'est l'ADN — ce que tu es ; la composition, c'est un sac à dos — ce que tu as. Un chien est un animal (héritage), mais une voiture a simplement un moteur (composition).
- composition
- Construire une classe à partir d'objets d'autres classes — un objet stocké comme attribut : self.engine = Engine().
- la relation a-un
- "Une voiture a un moteur" — une relation résolue par la composition, pas par l'héritage.