Polimorfismo
Definição
Polimorfismo é a capacidade de diferentes classes responderem de maneira diferente a uma mesma chamada de método, desde que compartilhem a mesma interface ou herança. Isso permite que um mesmo código funcione com objetos de tipos distintos, desde que obedeçam a um contrato comum.
Por que é importante
O polimorfismo permite escrever código mais genérico, reutilizável e extensível. Ele reduz o acoplamento entre componentes e facilita a substituição de comportamentos sem necessidade de modificar o código que usa esses objetos.
É um dos pilares da orientação a objetos, junto com herança, encapsulamento e abstração.
Linguagens que suportam polimorfismo
O polimorfismo é amplamente suportado em linguagens orientadas a objetos como Python, Java, C++, C#, Ruby e Kotlin. Também aparece em linguagens funcionais sob formas como dispatch dinâmico e type classes.
Exemplo em código (Python)
class Animal:
def falar(self):
return "Algum som"
class Gato(Animal):
def falar(self):
return "Miau"
class Cachorro(Animal):
def falar(self):
return "Latido"
def emitir_som(animal):
print(animal.falar())
emitir_som(Gato()) # Miau
emitir_som(Cachorro()) # Latido
No exemplo acima, diferentes subclasses implementam o mesmo método
falar
. A função emitir_som
trata todos os
objetos como instâncias de Animal
, mas o comportamento varia
conforme o tipo — isso é polimorfismo.