Sobes.tech
Junior — Middle

¿Puedes explicar el concepto de polimorfismo en la programación orientada a objetos?

sobes.tech AI

Respuesta de la IA

El polimorfismo en la programación orientada a objetos es la capacidad de objetos de diferentes clases para responder a los mismos mensajes (llamadas a métodos) de manera diferente. Esto permite usar una interfaz única para trabajar con diferentes tipos de objetos.

Ejemplo en Java:

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

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

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

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // Imprime: Ladrido
        a2.sound(); // Imprime: Miau
    }
}

Aquí, el método sound() se llama en objetos de tipo Animal, pero el comportamiento depende de la subclase concreta — esto es polimorfismo.