Polimorfismo java

16.436 visualizações

Publicada em

Alunos:
- Pablo Enrico
- José Emidio
- Levy Rodrigues
- Vandernilton Poderoso
- Gustavo
- Leandro Amorin

Prof.: Douglas Del Frari

1 comentário
13 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
16.436
No SlideShare
0
A partir de incorporações
0
Número de incorporações
119
Ações
Compartilhamentos
0
Downloads
0
Comentários
1
Gostaram
13
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Polimorfismo java

  1. 1. Polimorfismo em JAVA<br />
  2. 2. Agenda<br />O que é Polimorfismo?<br />Exemplo<br />Execução<br />Tipos de Polimorfismo<br />Polimorfismo Universal<br />Polimorfismo Universal por Inclusão<br />Polimorfismo Ad-Hoc<br />Polimorfismo Ad-Hoc Coerção<br />Benefícios do Polimorfismo<br />
  3. 3. O que é Polimorfismo?<br />Polimorfismo = “várias formas” ;<br />Em linguagem de programação significa: pode haver várias formas de se fazer uma “certa coisa”;<br />Polimorfismo é o princípio pelo qual duas ou mais classesderivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos;<br />
  4. 4. ANIMAL<br />Classe Animal {<br />String nome;<br />String cor;<br />int peso;<br /> //..<br />tipoComida() {<br />}<br />Cachorro<br />Gato<br />tipoComida() {<br />System.out.println(“cachorro come osso”);<br />}<br />tipoComida() {<br />System.out.println(“gato come rato”);<br />}<br />Exemplos<br />
  5. 5. public class Polimorfismo{<br />Public static void main (String args[]){<br />Animal bicho[]=new Animal[2]<br />bicho[0]=new Cachorro();<br />bicho[1]=new Gato();<br />for(int i=0;<bicho.length;i++){<br /> System.out.println(bicho[i].tipoComida());<br />}<br />}<br />}<br />Execução<br />
  6. 6. Qual seria a saida na tela?<br />cachorro come osso<br />gato come rato<br />
  7. 7. Tipos de Polimorfismo<br />Universal<br /> - Inclusão<br /> - Paramétrico<br />Ad-Hoc<br /> - Sobrecarga<br /> - Coerção<br />
  8. 8. Como o próprio nome diz, ele é universal, ou seja, ele pode ser aplicado em vários casos, logo não consegue saber quantas vezes será aplicado o polimorfismo. Trabalha potencialmente num conjunto infinito de tipos, de modo disciplinado.<br />Polimorfismo Universal<br />
  9. 9. É 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.<br />Polimorfismo Universal por Inclusão<br />
  10. 10. Exemplo de Polimorfismo por Inclusão<br />
  11. 11. A idéia 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.<br />Polimorfismo Universal Paramétrico<br />
  12. 12. Exemplo de Polimorfismo Paramétrico<br />
  13. 13. É implementado quando queremos definir uma coisa específica, ou seja, este polimorfismo, diferente do universal, não pode ser usado em todo lugar, logo sabemos quantas vezes ele será aplicado.<br />Polimorfismo Ad-Hoc<br />
  14. 14. Permite que um “nome de função” seja utilizado mais de uma vez com diferentes assinaturas, ou seja, dois métodos com o mesmo nome, 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.<br />Polimorfismo Ad-Hoc Sobrecarga<br />
  15. 15. Exemplo Polimorfismo Ad-Hoc Sobrecarga<br />
  16. 16. A idéia 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.<br /> Exemplo: se o operador ( + ) é definido para somar dois números reais, e um número inteiro é passado como parâmetro então o inteiro é "coergido" para real.<br />Polimorfismo Ad-Hoc Coerção<br />
  17. 17. Exemplo Polimorfismo Ad-Hoc Coerção<br />
  18. 18. Benefícios do Polimorfismo<br />Clareza e manutenção de códigos<br />Aplicações flexíveis<br />
  19. 19. Disciplina: Prog. Orientada a Objeto<br />Prof.: Douglas Del Frari<br />Curso: Redes de Computadores<br />Período: 2º <br />FAFICA<br />Pablo Enrico<br />José Emidio<br />Levy Rodrigues<br />Vandernilton Poderoso<br />Leandro Amorim<br />Gustavo Henrique<br />Alunos<br />

×