Introdução à Composição
Deslize para mostrar o menu
Composição representa uma relação de possui (has-a), onde uma classe contém uma instância de outra classe em vez de herdar dela. Por exemplo, um Carro possui um Motor. Isso difere da herança, que modela uma relação de é-um (is-a), como um Caminhão é um Veí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 não herda de Engine. Em vez disso, ele contém um objeto Engine e o utiliza para realizar suas funções. Isso demonstra uma relação has-a e não is-a, tornando o design mais flexível e fácil de modificar futuramente.
Deve-se usar composição quando são necessárias partes flexíveis, limites claros e substituição de comportamento em tempo de execução. Prefira herança quando uma hierarquia verdadeira de é-um for óbvia e estável.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo