Junior — Middle
Explique o conceito de polimorfismo na programação orientada a objetos e como ele é implementado no código.
sobes.tech IA
Resposta da IA
O polimorfismo na programação orientada a objetos é a capacidade de objetos de diferentes classes responderem de forma diferente às mesmas mensagens (chamadas de métodos). Isto permite usar uma interface única para trabalhar com diferentes tipos de objetos.
Em Java, o polimorfismo é implementado através de herança e sobrescrita de métodos. Por exemplo, uma classe base declara um método, e as subclasses o implementam à sua maneira.
Exemplo:
class Animal {
void sound() {
System.out.println("Algum som");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Latir");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Miar");
}
}
public class Main {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
a1.sound(); // Vai imprimir "Latir"
a2.sound(); // Vai imprimir "Miar"
}
}
Aqui, a variável do tipo Animal pode referenciar objetos de diferentes subclasses, e a chamada do método sound() será executada dependendo do tipo real do objeto — isto é polimorfismo.