Introduction to Composition
Desliza para mostrar el menú
Composición representa una relación de tiene-un, donde una clase contiene una instancia de otra clase en lugar de heredar de ella. Por ejemplo, un Coche tiene un Motor. Esto difiere de la herencia, que modela una relación de es-un, como en Camión es un Vehículo.
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 no hereda de Engine. En su lugar, contiene un objeto Engine y lo utiliza para realizar su trabajo. Esto muestra una relación de tiene-un, no de es-un, lo que hace que el diseño sea más flexible y fácil de modificar posteriormente.
Se debe utilizar la composición cuando se necesitan partes flexibles, límites claros y reemplazo de comportamiento en tiempo de ejecución. Preferir la herencia cuando existe una jerarquía verdadera de tipo es-un que sea obvia y estable.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla