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.