Sobes.tech
Junior — Middle

Explique el concepto de polimorfismo en programación orientada a objetos y cómo se implementa en el código.

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 de manera diferente a los mismos mensajes (llamadas a métodos). Esto permite usar una interfaz única para trabajar con diferentes tipos de objetos.

En Java, el polimorfismo se implementa mediante herencia y sobrescritura de métodos. Por ejemplo, una clase base declara un método, y las subclases lo implementan a su manera.

Ejemplo:

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("Maullido");
    }
}

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

Aquí, la variable de tipo Animal puede referirse a objetos de diferentes subclases, y la llamada al método sound() se ejecutará dependiendo del tipo real del objeto — esto es polimorfismo.