Sobes.tech
Intern

O que é herança na programação e para que serve?

sobes.tech IA

Resposta da IA

A herança é um mecanismo de POO que permite a uma classe (classe filha, derivada) herdar propriedades (atributos) e comportamentos (métodos) de outra classe (classe pai, base).

Usado para:

  • Reutilização de código: Os métodos e atributos da classe base estão disponíveis na classe derivada, evitando duplicação de código.
  • Criação de hierarquias de classes: Permite modelar relações "é um" (is-a) entre objetos. Por exemplo, Cão é Animal.
  • Extensão de funcionalidades: A classe filha pode adicionar seus próprios atributos e métodos ou redefinir (alterar) o comportamento herdado.
  • Polimorfismo: Juntamente com a despacho dinâmico, a herança permite tratar objetos de diferentes tipos, referindo-se à sua classe base.

Exemplo em Python:

class Animal:
    # Classe base
    def __init__(self, nome):
        self.nome = nome

    def fazer_som(self):
        pass # Método vazio, será redefinido nas classes filhas

class Cão(Animal):
    # Classe filha
    def __init__(self, nome, raça):
        super().__init__(nome) # Chamada ao construtor da classe base
        self.raça = raça

    def fazer_som(self):
        # Redefinição do método fazer_som
        print("Woof!")

# Uso
meu_cão = Cão("Бобик", "Ovelha")
print(meu_cão.nome) # Atributo herdado
meu_cão.fazer_som() # Método redefinido