Junior — Middle
Pode explicar o conceito de polimorfismo na programação orientada a objetos?
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.
Exemplo em Java:
class Animal {
void sound() {
System.out.println("Algum som");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Latido");
}
}
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(); // Vai imprimir: Latido
a2.sound(); // Vai imprimir: Miau
}
}
Aqui, o método sound() é chamado em objetos do tipo Animal, mas o comportamento depende da subclasse específica — isto é polimorfismo.