SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Polimorfismo em JAVA
Agenda O que é Polimorfismo? Exemplo Execução Tipos de Polimorfismo Polimorfismo Universal Polimorfismo Universal por Inclusão Polimorfismo Ad-Hoc Polimorfismo Ad-Hoc Coerção Benefícios do Polimorfismo
O que é Polimorfismo? Polimorfismo = “várias formas” ; Em linguagem de programação significa:  pode haver várias formas de se fazer uma “certa coisa”; 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;
ANIMAL Classe Animal { String nome; String cor; int peso;  //.. tipoComida() { } Cachorro Gato tipoComida() { System.out.println(“cachorro come osso”); } tipoComida() { System.out.println(“gato come rato”); } Exemplos
public class Polimorfismo{ Public static void main (String args[]){ Animal bicho[]=new Animal[2] bicho[0]=new Cachorro(); bicho[1]=new Gato(); for(int i=0;<bicho.length;i++){   System.out.println(bicho[i].tipoComida()); } } } Execução
Qual seria a saida na tela? cachorro come osso gato come rato
Tipos de Polimorfismo Universal 		- Inclusão 		- Paramétrico Ad-Hoc 		- Sobrecarga 		- Coerção
   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. Polimorfismo Universal
   É 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. Polimorfismo Universal por Inclusão
Exemplo de Polimorfismo por Inclusão
  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. Polimorfismo Universal Paramétrico
Exemplo de Polimorfismo Paramétrico
   É 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. Polimorfismo Ad-Hoc
   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. Polimorfismo Ad-Hoc Sobrecarga
Exemplo Polimorfismo Ad-Hoc Sobrecarga
   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.    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. Polimorfismo Ad-Hoc Coerção
Exemplo Polimorfismo Ad-Hoc Coerção
Benefícios do Polimorfismo Clareza e manutenção de códigos Aplicações flexíveis
Disciplina: Prog. Orientada a Objeto Prof.: Douglas Del Frari Curso: Redes de Computadores Período: 2º  FAFICA Pablo Enrico José Emidio Levy Rodrigues Vandernilton Poderoso Leandro Amorim Gustavo Henrique Alunos

Weitere ähnliche Inhalte

Was ist angesagt?

Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - PolymorphismMudasir Qazi
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Lógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalLógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalWesley R. Bezerra
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Bruno Grange
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosArthur Emanuel
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Israel Messias
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Polymorphism in java, method overloading and method overriding
Polymorphism in java,  method overloading and method overridingPolymorphism in java,  method overloading and method overriding
Polymorphism in java, method overloading and method overridingJavaTportal
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesRegis Magalhães
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na práticaRafael Cassau
 

Was ist angesagt? (20)

Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
POO - 04 - Variávies em Java
POO - 04 - Variávies em JavaPOO - 04 - Variávies em Java
POO - 04 - Variávies em Java
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - Polymorphism
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Lógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalLógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicional
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a Objetos
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Polymorphism in java, method overloading and method overriding
Polymorphism in java,  method overloading and method overridingPolymorphism in java,  method overloading and method overriding
Polymorphism in java, method overloading and method overriding
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 

Andere mochten auch

Andere mochten auch (20)

Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java
 
Polimorfismo en JAVA
Polimorfismo en JAVAPolimorfismo en JAVA
Polimorfismo en JAVA
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Polimorfismo ppt
Polimorfismo  pptPolimorfismo  ppt
Polimorfismo ppt
 
10 Polimorfismo
10   Polimorfismo10   Polimorfismo
10 Polimorfismo
 
Polimorfismo final
Polimorfismo finalPolimorfismo final
Polimorfismo final
 
Polimorfismos Geneticos
Polimorfismos GeneticosPolimorfismos Geneticos
Polimorfismos Geneticos
 
Programacion oo
Programacion ooProgramacion oo
Programacion oo
 
Java one
Java oneJava one
Java one
 
Introduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a ObjetosIntroduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a Objetos
 
Comandos e expressões
Comandos e expressõesComandos e expressões
Comandos e expressões
 
Interfaces e polimorfismo
Interfaces e polimorfismoInterfaces e polimorfismo
Interfaces e polimorfismo
 
Erros comuns em java
Erros comuns em javaErros comuns em java
Erros comuns em java
 
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasCurso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
 
POO Herança
POO HerançaPOO Herança
POO Herança
 
Mapa conceptual java
Mapa conceptual java Mapa conceptual java
Mapa conceptual java
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
 
Unidad08 geneticadepoblaciones
Unidad08 geneticadepoblacionesUnidad08 geneticadepoblaciones
Unidad08 geneticadepoblaciones
 

Polimorfismo java

  • 2. Agenda O que é Polimorfismo? Exemplo Execução Tipos de Polimorfismo Polimorfismo Universal Polimorfismo Universal por Inclusão Polimorfismo Ad-Hoc Polimorfismo Ad-Hoc Coerção Benefícios do Polimorfismo
  • 3. O que é Polimorfismo? Polimorfismo = “várias formas” ; Em linguagem de programação significa: pode haver várias formas de se fazer uma “certa coisa”; 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;
  • 4. ANIMAL Classe Animal { String nome; String cor; int peso; //.. tipoComida() { } Cachorro Gato tipoComida() { System.out.println(“cachorro come osso”); } tipoComida() { System.out.println(“gato come rato”); } Exemplos
  • 5. public class Polimorfismo{ Public static void main (String args[]){ Animal bicho[]=new Animal[2] bicho[0]=new Cachorro(); bicho[1]=new Gato(); for(int i=0;<bicho.length;i++){ System.out.println(bicho[i].tipoComida()); } } } Execução
  • 6. Qual seria a saida na tela? cachorro come osso gato come rato
  • 7. Tipos de Polimorfismo Universal - Inclusão - Paramétrico Ad-Hoc - Sobrecarga - Coerção
  • 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. Polimorfismo Universal
  • 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. Polimorfismo Universal por Inclusão
  • 10. Exemplo de Polimorfismo por Inclusão
  • 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. Polimorfismo Universal Paramétrico
  • 12. Exemplo de Polimorfismo Paramétrico
  • 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. Polimorfismo Ad-Hoc
  • 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. Polimorfismo Ad-Hoc Sobrecarga
  • 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. 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. Polimorfismo Ad-Hoc Coerção
  • 18. Benefícios do Polimorfismo Clareza e manutenção de códigos Aplicações flexíveis
  • 19. Disciplina: Prog. Orientada a Objeto Prof.: Douglas Del Frari Curso: Redes de Computadores Período: 2º FAFICA Pablo Enrico José Emidio Levy Rodrigues Vandernilton Poderoso Leandro Amorim Gustavo Henrique Alunos