Sei sulla pagina 1di 17

UNIVERSIDADE FEDERAL RURAL DA AMAZÔNIA

CURSO DE LICENCIATURA EM COMPUTAÇÃO

DISCIPLINA: ANALISE DE PROJETOS ORIENTADOS A OBJETOS


PROFESSORA: JAKELYNE MACHADO LIMA SILVA
POLIMORFISMO

LUIZ ANTONIO FERNANDES DA SILVA - 2014013612


ZADOQUE GOMES DA COSTA BENJÓ - 20127050
Polimorfismo

Várias formas de fazer várias coisas.


O Polimorfismo não é um pensamento novo
para nós. Ele está contido em nosso dia a dia,
principalmente na linguagem.
Para utilizar polimorfismo, os objetos devem
executar as mesmas ações (métodos), mesmo
que com comportamento diferente.
Vantagens de usar Polimorfismo

Novas classes podem ser adicionadas a partes


gerais do programa com pouca ou nenhuma
modificação
E possível trazer clareza ao código, diminuir
linhas do mesmo e ainda é possível inserir
aplicações flexíveis.
Polimosfismo Ad-Hoc
É implementado quando queremos definir uma coisa específica,
diferente do universal, não pode ser usado em todo lugar, logo sabemos
quantas vezes ele será aplicado.
Ad-Hoc Sobrecarga
Permite que um “nome de função” seja utilizado mais de uma vez com diferentes
assinaturas, porém com tipos de parâmetros diferentes por quantidades ou por
tipo. O compilador automaticamente chama a função “correta” que deve ser
utilizada.
Ad-Hoc Coerção
A ideia dele é que a linguagem é quem faz uma coerção de tipos e não o
programador, ou seja, que esta não é feita voluntariamente pelo programador e
sim pela linguagem.
Polimorfismo Paramétrico

A ideia do polimorfismo universal paramétrico é ao definir um


elemento(que pode ser uma classe, um método ou alguma outra estrutura
da linguagem), a definição do tipo sozinha ela é incompleta, ela precisa
parametrizar este tipo, ou seja, teoricamente não existiria o tipo sozinho, o
que sim existe e o tipo de alguma coisa de alguma coisa, por exemplo,
uma list não seria só do tipo list, e sim do tipo list de elefantes. Vale
lembrar que este polimorfismo só foi implementado em Java a partir da
versão 1.5
Polimorfismo de Inclusão
É quando você tem um ponteiro para mãe e ele consegue apontar
para um objeto da filha, já que esse polimorfismo é muito básico, é
difícil você conseguir outras coisas sem ele, por isso boa parte das
linguagens orientadas a objetos conhecidas implementam esse
polimorfismo.

A definição da hierarquia de generalização/especialização favorece o


uso do polimorfismo de inclusão pois as subclasses (ou subtipos)
herdam automaticamente todas as opera ̧coes da superclasse(ou
supertipo).
Considerações finais
Podemos notar a importância do Polimorfismo para a redução de
código, simplicidade, flexibilidade e outros. O polimorfismo é utilizado
em diversas refatorações e muitos Padrões de Projetos, portanto
entendê-lo é fundamental para qualquer desenvolvedor.

Potrebbero piacerti anche