Polimorfismo

Disponível somente no TrabalhosFeitos
  • Páginas : 7 (1585 palavras )
  • Download(s) : 0
  • Publicado : 24 de fevereiro de 2013
Ler documento completo
Amostra do texto
Resenha de Noções Básicas de abstração de dados e polimorfismo.


No universo digitado há quatro universos sem tipos: cadeias de bits na memória ,S-expressions in pure Lisp, l-expressions in the l-calculus e teoria dos conjuntos, sendo que o mais concreto deles é o universo de bits na memória do computador. Para trabalhar com o universo sem tipos tem que organizá-los de diversasmaneiras para finalidades diferentes. Os tipos surgem informalmente em qualquer domínio para categorizar objetos de acordo com a sua utilização e comportamento, eles decompõem naturalmente em subconjuntos com comportamento uniforme, seu principal objetivo é evitar perguntas embaraçosas sobre representações, e proibir situações em que essas questões possam surgir.
Os tipos tem a finalidade de protegerum sem tipo subjacente do uso arbitrário ou não intencional, para que o mesmo não seja violado, então impõem uma estrutura do tipo estático nos programas. As línguas em que todas as expressões são do tipo consistente são chamadas de linguagens fortemente tipadas, onde permite inconsistências do tipo a ser descoberto em tempo de compilação e garante que programas executados são de tipo consistente,facilita a detecção precoce de erros de tipo e permite uma maior de tempo de execução de eficiência, porém pode também conduzir a uma perda de flexibilidade e forte restrição ao comportamento de objetos a que se relaciona com um tipo específico.
Convencionais linguagem como Pascal, tem um tipo único, que são consideradas monomórficos, que podem ser contrastadas com as línguas polimórficas,línguas com valores de mais de um tipo. Existem dois tipos principais de polimorfismo : polimorfismo paramétrico ou universal é obtido quando uma função funciona de maneira uniforme em uma variedade de tipos com uma estrutura comum e o Ad-hoc polimorfismo que é obtido quando uma função em vários tipos diferentes (que não pode apresentar uma estrutura comum) e podem comportar-se de maneira independentepara cada tipo.
O polimorfismo universal pode-se afirmar com confiança que alguns valores possuem muitos tipos, enquanto no ad-hoc não é possível essa afirmação pois ele pode executar um código diferente para cada tipo de argumento.
O polimorfismo universal, é subdividido em duas subcategorias : paramétrico (uma função polimórfica tem um tipo parâmetro implícito ou explícito que determina otipo do argumento para cada aplicação dessa função) e inclusão (polimorfismo pode ser visto como pertencendo a muitas classes diferentes que não precisam de ser separada, isto é, pode haver inclusão de classes). No polimorfismo paramétrico existem as funções genéricas que são funções que podem utilizar muitos argumentos de diversos tipos para fazer o mesmo trabalho.
Há também duas subcategorias dopolimorfismo ad-hoc: overloading (utilizado para denotar funções diferentes, e no contexto é usado para decidir qual a função é indicado por um caso particular do nome) e coerção são essencialmente uma forma de abreviatura que pode reduzir tamanho do programa e melhorar a legibilidade do programa, mas também pode causar sistema subtil e por vezes perigosas erros.)
O polimorfismo universalé considerado o verdadeiro polimorfismo, enquanto o ad-hoc é um tipo de polimorfismo cujo personagem polimórfico desaparece.
A linguagem de programação era identificada no inicio como computação numérica e os valores como tendo um único tipo de aritmética. Algol 60 foi a primeira linguagem a ter uma noção explicita de requisitos associados para verificação do tempo de compilação, em 1960 foiestendida para classe mais rica de valores. De todas as linguagens difitais desenvolvidas neste período, PL / I, Pascal, Algol 68, e Simula foram as mais notáveis na contribuição para evolução deste conceito.
Algol 68 tem uma noção mais rigorosa e bem definida da equivalência estrutural, a noção de tipo inclui procedimentos como valores de primeira classe, os modos primitivos incluem : int,...
tracking img