Herança é um conceito central na programação orientada a objetos, que permite que você aprenda com classes existentes e crie suas próprias classes que oferecem funcionalidades adicionais. Neste guia, você aprenderá como aplicar a herança em Python de forma eficaz e como criar classes que herdam de outras classes.
Principais conclusões
- Classes podem herdar de outras classes, adquirindo suas propriedades e métodos.
- A herança ajuda a estruturar e reutilizar o código de forma mais eficiente.
- Subclasses podem implementar funções específicas que herdaram da superclasse, além de adicionar suas próprias funções específicas.
Guia passo a passo
1. Criar uma classe base
Comece criando uma classe simples. A classe Carro será usada como exemplo. Esta classe terá propriedades e métodos básicos que um carro deve ter.

2. Instanciar a classe base
Depois de definir a classe, você pode criar uma instância de Carro. Esta instância herdará os métodos e propriedades definidos na classe.

3. Criar uma subclasse
Agora crie uma subclasse BMW, que deve herdar suas funcionalidades da classe Carro. A subclasse fornecerá características e comportamentos específicos para um carro BMW.
4. Instanciar a subclasse
Crie uma instância da subclasse BMW para ver como os métodos herdados funcionam e quais novas funções a subclasse oferece além disso.

5. Sobrescrever métodos
Você também pode sobrescrever métodos da superclasse na subclasse para fornecer implementações específicas. Aqui, o método o_que_eu_sou é usado na classe BMW.

6. Criar funções específicas
Você pode adicionar métodos específicos à subclasse, que não existem na superclasse. Assim, ultrapassar é definido como uma função para a classe BMW.

7. Tratamento de erros em caso de incompatibilidade
Ao tentar chamar uma função específica da subclasse BMW em uma instância da superclasse Carro, um erro será exibido. Isso é importante para entender como lidar corretamente com a herança.

8. Criação de outra subclasse
Você pode continuar refinando sua abordagem de programação criando outra subclasse de BMW, por exemplo, M3. Esta classe herda todas as funcionalidades de BMW e pode implementar seus próprios métodos.

9. Integrar as funções
Teste as hierarquias e a integração de todas as classes criadas. Uma instância de M3 terá agora acesso a todas as funções de seus ancestrais.

Resumo – Entender e implementar herança em Python
A herança em Python permite que você estenda classes existentes e implemente funcionalidades específicas em subclasses. Você pode criar um código eficaz e estruturado por meio de implementações simples e herdando métodos e propriedades, tornando-o fácil de manter e expandir.
Perguntas frequentes
O que é herança em Python?Herança é um conceito onde uma classe (subclasse) adquire propriedades e métodos de outra classe (superclasse).
Como criar uma subclasse?Uma subclasse é criada especificando a superclasse ao definir a subclasse entre parênteses.
Posso sobrescrever métodos da superclasse na subclasse?Sim, você pode sobrescrever métodos da superclasse na subclasse usando a mesma assinatura de método.
O que acontece se eu chamar funções específicas da subclasse na superclasse?Isso resultará em um erro, pois a superclasse não conhece as funções específicas da subclasse.
Como criar várias camadas de subclasses?Você pode criar outra subclasse de uma subclasse existente para criar uma hierarquia mais profunda.