Polimorfismo
Universidade do Planalto Catarinense Curso: Sistemas de Informação – 6º Semestre Disciplina: Desenvolvimento de Sistemas de Informação Orientada a Objetos
POLIMORFISMO
• Programar no geral ao invés de programar no específico • Permite escrever programas que processam objetos que compartilham a mesma superclasse em uma hierarquia de classes, como se todas fossem objetos da superclasse
POLIMORFISMO
Programa de simulação de movimento de vários tipos de animais para um estudo biológico Três tipos de animais sob Estendem a investigação
• • • Peixe Anfíbio Pássaro super classe Animal
AVE ANFÍBIO PEIXE
ANIMAL
Animal contém método mover
POLIMORFISMO
• Programa com vetor de referências a objetos das várias subclasses Animal a1 a2 a3 ...
MOVER
• Simulando os movimentos
• Programa envia mensagem a cada objeto
• Cada tipo específico de Animal responde à mensagem de maneira diferente
• Peixe – nada 1 metro • Anfíbio – pula 1 ½ metro • Ave – voa 3 metros
Cada animal responde a um estímulo (mover) de forma diferente
POLIMORFISMO
• Conceito chave de polimorfismo:
• Cada objeto sabe fazer a coisa certa em resposta à mesma chamada de método!
POLIMORFISMO
• Projeto e implementação de sistemas que são facilmente extensíveis
• Novas classes podem ser adicionadas a partes gerais do programa com pouca ou nenhuma modificação
• O que é necessário alterar no programa quando uma nova classe é gerada?
POLIMORFISMO
Resposta: As partes do programa que exige conhecimento direto das novas classes adicionadas
Necessário modificar apenas as classes que instanciam um objeto do tipo MAMÍFERO Quem processo animal genérico não é alterado
ANIMAL
MAMÍFERO
AVE
ANFÍBIO
PEIXE
POLIMORFISMO
• Outro exemplo: Quadrilátero
• Retângulo: versão mais específica de um objeto Quadrilátero • Calcular perímetro pode ser realizada em qualquer objeto Quadrilátero
• Retângulo • Quadrados, paralelogramos e trapezóides
Ponto p1, p2,