Introduction à la composition
Glissez pour afficher le menu
La composition représente une relation de type a-un, où une classe contient une instance d'une autre classe au lieu d'en hériter. Par exemple, une Voiture a un Moteur. Cela diffère de l'héritage, qui modélise une relation de type est-un, comme un Camion est un Véhicule.
1234567891011121314151617class Engine: def start(self): return "Engine started" class Car: def __init__(self, brand, engine): self.brand = brand self.engine = engine # Car HAS an Engine def drive(self): return f"{self.brand}: {self.engine.start()}" engine = Engine() car = Car("Toyota", engine) print(car.drive())
Car n'hérite pas de Engine. À la place, elle contient un objet Engine et l'utilise pour effectuer son travail. Cela montre une relation de type a-un, et non est-un, rendant la conception plus flexible et plus facile à modifier par la suite.
Il convient d'utiliser la composition lorsque vous avez besoin de parties flexibles, de frontières claires et de remplacement du comportement à l'exécution. Privilégier l'héritage lorsqu'une hiérarchie vraiment de type est-un est évidente et stable.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion