Já vimos anteriormente a definição de polimorfismo, seguiremos para a parte prática agora.
Peguemos como exemplo os objetos cão, gato e galinha, todos herdeiros da classe mãe animal, esses objetos tem um método em comum que é emitir um som, porém, os sons desses animais são diferentes, afinal, um cachorro late, um gato mia e uma galinha cacareja, então os retornos do método emitir som devem ser diferentes. Para resolver esse problema usaremos o polimorfismo.
- Abra seu editor.
- Crie um arquivo .py de nome poo, onde ficaram as classes.
- Crie outro arquivo no nome que desejar, este script conterá as instâncias dos objetos.
- Vamos começar
#Classe mãe animal
class animal():
def emitir_som(self):
pass
#Classe cao
class cao(animal):
#Método em que o polimorfismo é aplicado
def emitir_som(self):
return "Au Au Au"
#Classe gato
class gato(animal):
#Método em que o polimorfismo é aplicado
def emitir_som(self):
return "Miau Miau Miau"
#Classe galinha
class galinha(animal):
#Método em que o polimorfismo é aplicado
def emitir_som(self):
return "Cocoricó"
Agora, com as classes prontas vamos instanciar nossos objetos, no outro script.
#Importação do script com as classes
import poo
#Instâncias
cao = poo.cao()
gato = poo.gato()
galinha = poo.galinha()
#Exibindo o retorno do método emitir_som
print(cao.emitir_som())
print(gato.emitir_som())
print(galinha.emitir_som())
Por fim, com os dois scripts basta executar o script com as instâncias e visualizar como ficou.