Junior
Qual é o significado do polimorfismo na programação?
sobes.tech IA
Resposta da IA
O polimorfismo permite usar objetos de diferentes classes que têm uma interface comum, através de um "tipo" comum (por exemplo, uma classe base ou interface).
O seu principal significado:
- Unificação do trabalho com objetos: Permite escrever código que não depende do tipo específico do objeto, mas que funciona com ele através de uma abstração.
- Flexibilidade: É fácil adicionar novas classes que implementem a mesma interface, sem modificar o código existente que usa essa abstração.
- Legibilidade e manutenção: O código torna-se mais estruturado e compreensível, pois oculta a complexidade da implementação concreta por trás de uma interface única.
O princípio consiste em que o mesmo método, chamado em diferentes objetos, comporta-se de forma diferente, dependendo do seu tipo concreto.
Exemplo em PHP:
<?php
interface Animal {
public function makeSound();
}
class Dog implements Animal {
public function makeSound() {
return "Woof!";
}
}
class Cat implements Animal {
public function makeSound() {
return "Meow!";
}
}
function hearAnimalSound(Animal $animal) {
echo $animal->makeSound() . "\n";
}
$dog = new Dog();
$cat = new Cat();
hearAnimalSound($dog); // Vai imprimir "Woof!"
hearAnimalSound($cat); // Vai imprimir "Meow!"
?>
Neste exemplo, a função hearAnimalSound aceita qualquer objeto que implemente a interface Animal. A chamada do método makeSound() dentro desta função comporta-se de forma diferente para objetos Dog e Cat, demonstrando o polimorfismo.