Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Introdução à Composição | Composição
Programação Orientada a Objetos em Python

bookIntroduçã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.

1234567891011121314151617
class 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())
copy

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.

Note
Nota

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.

question mark

Qual é o principal benefício de usar composição?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 3. Capítulo 1
some-alt