Junior
O que é polimorfismo na programação?
sobes.tech IA
Resposta da IA
O polimorfismo é a capacidade de objetos de diferentes classes responderem de forma diferente às mesmas mensagens (chamadas de métodos).
Simplificando, o mesmo método pode comportar-se de forma diferente dependendo do objeto que o invoca. Isto é alcançado através de herança e sobrescrita de métodos, bem como através do uso de interfaces.
Exemplo em Swift:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Au")
}
}
class Cat: Animal {
func makeSound() {
print("Miau")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Vai imprimir: Au
playSound(animal: cat) // Vai imprimir: Miau
Aqui, a função playSound aceita um objeto do tipo Animal, mas dependendo da classe concreta (Dog ou Cat), a implementação correspondente do método makeSound é chamada.