Sobes.tech
Junior — Middle

¿Se puede decir que la herencia favorece la implementación del polimorfismo en la programación orientada a objetos?

sobes.tech AI

Respuesta de la IA

Sí, la herencia es uno de los mecanismos clave que contribuyen a la implementación del polimorfismo en la programación orientada a objetos. El polimorfismo permite que los objetos de diferentes clases sean tratados a través de una interfaz común, y la herencia proporciona la capacidad de crear jerarquías de clases, donde las subclases pueden sobrescribir los métodos de la clase base.

Por ejemplo, si hay una clase base Animal con un método hacerSonido(), y las subclases Perro y Gato sobrescriben ese método, entonces se puede trabajar con objetos de estas clases a través de una referencia a la clase base y llamar al método hacerSonido(), obteniendo comportamientos diferentes:

class Animal {
    void makeSound() {
        System.out.println("Algún sonido");
    }
}

class Dog extends Animal {
    @Override
    void makeSound() {
        System.out.println("Ladrido");
    }
}

class Cat extends Animal {
    @Override
    void makeSound() {
        System.out.println("Miau");
    }
}

// Uso
Animal a = new Dog();
a.makeSound(); // Imprime "Ladrido"