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.