Junior — Middle
Pode explicar o conceito de polimorfismo na programação orientada a objetos?
sobes.tech IA
Resposta da IA
O polimorfismo é um princípio da programação orientada a objetos que permite que objetos de diferentes classes respondam de forma diferente às mesmas mensagens (métodos).
Existem dois tipos principais de polimorfismo:
- Compilação (estático) — sobrecarga de métodos e operadores.
- Execução (dinâmico) — redefinição de métodos em classes herdadas.
Exemplo de polimorfismo dinâmico em C#:
class Animal {
public virtual void Speak() {
Console.WriteLine("Animal speaks");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("Bark");
}
}
class Cat : Animal {
public override void Speak() {
Console.WriteLine("Meow");
}
}
// Uso
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.Speak(); // Vai imprimir "Bark"
myCat.Speak(); // Vai imprimir "Meow"
Dessa forma, a mesma chamada do método Speak() comporta-se de forma diferente dependendo do tipo do objeto.