PythonPOOintermediario

Herança simples

Em sistemas reais, muitas classes compartilham atributos e comportamentos comuns. A herança permite reutilizar código da classe pai, evitando duplicação. Por exemplo, em um sistema de petshop, diferentes animais têm nome e emitem som, mas cada espécie produz um som específico. Ao usar herança com override, você escreve uma vez a lógica de nome e personaliza o som em cada subclasse.

O PROBLEMA

Animal com nome e fazer_som(). Cachorro e Gato herdando com override.

EXEMPLO

Cachorro("Rex").fazer_som() → "Au au!"

SOBRE O CONCEITO

Herança é quando uma classe filha herda atributos e métodos da classe pai. O método __init__ da classe pai define atributos como self.nome. Ao sobrescrever fazer_som() na classe filha, você troca o comportamento. O erro comum é esquecer super().__init__() no __init__ da classe filha. Sem isso, o __init__ do pai não é executado e o atributo self.nome não é criado, causando AttributeError ao tentar acessá-lo. Use super() para chamar explicitamente o método da classe pai e garantir a inicialização correta.

RESOLUÇÃO

Mais exercícios de POO

PYPOI1I · IntermediárioProperty e setterPYPOI5I · IntermediárioClasse abstrataPYPOO7B · BásicoMétodo estáticoPYPOO0B · BásicoObjetos como atributos
Ver todos os exercícios de Python