Conceito
Polimorfismo é um conceito utilizado em muitas linguagens de programação, sendo seu conceito básico: Uma operação que pode assumir múltiplas formas, a propriedade segundo o qual uma operação pode comportar-se diferentemente em classes diferentes.
Propriedades
- Polimorfismo ad hoc
Não existe um modo único e sistemático de determinar o tipo deresultado de uma função em termos dos tipos dos seusargumentos de entrada. É uma forma limitada de polimorfismo. Possui duas formas: coerção e sobrecarga.
- Polimorfismo universal
Trabalha potencialmente num conjunto infinito de tipos de modo disciplinado. Possui duas formas: paramétrico e inclusão.
Prop 1.
- Sobrecarga
Permite que um nome de função seja utilizado mais do que uma vez com diferentes tipos de parâmetros.
Exemplo:
- Uma função soma pode ser sobrecarregada para operar com dois parâmetros inteiros e dois reais.
Prop 2.
- Coerção
Meio para contornar a rigidez dos tipos monomórficos. Existe um mapeamento interno entre tipos.
- Exemplo:
– Se o operador soma é definido como tendo 2 parâmetros reais e um inteiro e um real são passados como parâmetros, o inteiro é “coargido” para um real.
Prop 3.
- Paramétrico
Uma única função é codificada e ela trabalhará uniformemente num intervalo de tipos. Funções paramétricas também são chamadas de funções genéricas.
- Exemplo:
comprimento::[A] > NUM, para todos os tipo A.
Prop 4.
- Inclusão
É encontrada somente em linguagens orientadas a objetos e está relacionada com a noção de subtipo.
- Exemplo:
Hierarquia de classes.
Referências Bibliográficas
Válida a pesquisa apenas em Livros, Artigos ou Revistas.
- Prof. Tiago Eugenio de Melo,Introdução à Orientação a Objetos.
- C. M. F. Rubira. Introdução à Análise Orientada a Objetos. Editora da Unicamp, 2002