Como fazer herança em Python?
A herança é um dos princípios fundamentais da Programação Orientada a Objetos (POO) e permite reutilizar código de uma classe base (superclasse) em classes derivadas (subclasses).
Criando uma classe base
Vamos definir uma classe Veiculo
que servirá como base para outras classes.
class Veiculo:
def __init__(self, marca, modelo):
self.marca = marca
self.modelo = modelo
def exibir_detalhes(self):
return f'Veículo: {self.marca} {self.modelo}'
Criando uma classe filha
Agora criamos uma classe Carro
, que herda de Veiculo
:
class Carro(Veiculo):
def __init__(self, marca, modelo, portas):
super().__init__(marca, modelo)
self.portas = portas
def exibir_detalhes(self):
return f'Carro: {self.marca} {self.modelo}, {self.portas} portas'
Explicação do código
- A classe
Carro
herda atributos e métodos da classeVeiculo
. 2. O métodosuper().__init__()
chama o construtor da superclasse. 3. O métodoexibir_detalhes()
é sobrescrito para incluir a quantidade de portas.
Agora podemos instanciar um objeto da classe Carro
:
meu_carro = Carro("Toyota", "Corolla", 4)
print(meu_carro.exibir_detalhes())
Saída: Carro: Toyota Corolla, 4 portas
Por que a herança é importante na POO?
A herança é essencial para evitar repetição de código e criar hierarquias bem estruturadas. Ela permite que classes derivadas utilizem e modifiquem funcionalidades da classe base, tornando o código mais modular e reutilizável.
Algumas aplicações:
- Criação de hierarquias de classes eficientes.
- Reutilização de código para evitar repetição.
- Facilidade na manutenção e escalabilidade do software.
Dicas para quem está começando
- Utilize
super()
para chamar métodos da classe pai. - Só utilize herança quando houver uma relação clara entre as classes.
- Evite heranças muito profundas, pois podem dificultar a manutenção.
- Explore a sobrescrita de métodos para personalizar comportamentos.
Contribuições de Pedro Vasconcellos