Sobes.tech
Intern

¿Qué es la herencia en programación y para qué se utiliza?

sobes.tech AI

Respuesta de la IA

La herencia es un mecanismo de la POO que permite a una clase (clase hija, derivada) heredar propiedades (atributos) y comportamientos (métodos) de otra clase (clase padre, base).

Se utiliza para:

  • Reutilización de código: Los métodos y atributos de la clase base están disponibles en la clase derivada, lo que evita la duplicación de código.
  • Creación de jerarquías de clases: Permite modelar relaciones "es un" (is-a) entre objetos. Por ejemplo, Perro es Animal.
  • Extensión de funcionalidad: La clase hija puede agregar sus propios atributos y métodos o redefinir (modificar) el comportamiento heredado.
  • Polimorfismo: Junto con la despacho dinámico, la herencia permite tratar objetos de diferentes tipos, refiriéndose a su clase base.

Ejemplo en Python:

class Animal:
    # Clase base
    def __init__(self, name):
        self.name = name

    def make_sound(self):
        pass # Método vacío, será redefinido en clases hijas

class Dog(Animal):
    # Clase hija
    def __init__(self, name, breed):
        super().__init__(name) # Llamada al constructor de la clase base
        self.breed = breed

    def make_sound(self):
        # Redefinición del método make_sound
        print("Woof!")

# Uso
my_dog = Dog("Бобик", "Овчарка")
print(my_dog.name) # Atributo heredado
my_dog.make_sound() # Método redefinido