Herança em Classes: Como Usar em Python

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

A herança é um dos conceitos fundamentais da programação orientada a objetos (POO). Ela permite que uma classe herde atributos e métodos de outra classe, promovendo a reutilização de código e a criação de relações hierárquicas entre classes. Neste tutorial, vamos explorar como a herança funciona em Python e como você pode aplicá-la para tornar seu código mais eficiente e organizado.

O Que é Herança?

Herança é um mecanismo que permite que uma classe, conhecida como classe filha, herde características (atributos e métodos) de outra classe, chamada de classe pai. Isso significa que a classe filha pode usar os métodos e atributos da classe pai como se fossem seus.

Vantagens da Herança

  • Reutilização de Código: Evita a duplicação de código, pois permite que classes compartilhem métodos e atributos.
  • Organização: Facilita a manutenção e a expansão do código ao estabelecer uma hierarquia clara entre as classes.
  • Extensibilidade: Permite que novas funcionalidades sejam adicionadas facilmente através da extensão de classes existentes.

Implementando Herança em Python

Para ilustrar a herança em Python, vamos criar uma classe base chamada Animal e uma classe derivada chamada Cachorro.

Classe Base: Animal

class Animal:
    def __init__(self):
        print("Animal criado")

    def quem_sou_eu(self):
        print("Eu sou um animal")

    def comer(self):
        print("Comendo")

A classe Animal possui um construtor __init__, que é chamado ao criar uma instância da classe, e dois métodos: quem_sou_eu e comer.

Classe Derivada: Cachorro

class Cachorro(Animal):
    def __init__(self):
        super().__init__()  # Chama o construtor da classe pai
        print("Cachorro criado")

    def quem_sou_eu(self):
        print("Eu sou um cachorro")

    def latir(self):
        print("Au au!")

A classe Cachorro herda de Animal. Usamos a função super() para chamar o construtor da classe pai e garantir que a instância de Cachorro seja inicializada corretamente. Além disso, sobrescrevemos o método quem_sou_eu e adicionamos um novo método latir.

Utilizando a Herança

Agora, vamos criar uma instância de Cachorro e ver a herança em ação:

meu_cachorro = Cachorro()
meu_cachorro.quem_sou_eu()
meu_cachorro.comer()
meu_cachorro.latir()

Saída esperada:

Animal criado
Cachorro criado
Eu sou um cachorro
Comendo
Au au!

Como você pode ver, meu_cachorro é capaz de acessar tanto os métodos herdados da classe Animal quanto os métodos definidos na classe Cachorro.

Conclusão

A herança é uma ferramenta poderosa que ajuda a organizar melhor o código e a reutilizar funcionalidades comuns entre classes relacionadas. Ao entender e aplicar a herança, você pode escrever códigos mais limpos e de fácil manutenção, facilitando a expansão e a manutenção de seus projetos.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: