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