Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

POO - 16 - Polimorfismo

8,912 views

Published on

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

POO - 16 - Polimorfismo

  1. 1. Programação Orientada a Objetos Polimorfismo e Classes Abstratas Ludimila Monjardim Casagrande 2012
  2. 2. Polimorfismo e Herança  O mecanismo de herança permite a criação de classes a partir de outras já existentes desde que exista a relação “é um” entre a subclasse e a superclasse.  Dessa forma é possível criar classes mais especializadas a partir de uma classe genérica.  A relação “é um” entre classes também permite a existência de outra característica fundamental das linguagens OO que é o polimorfismo.Polimorfismo ©2012 Ludimila Monjardim Casagrande 2
  3. 3. Polimorfismo e Herança Uma Figura Geométrica Figura é uma generalização de múltiplas formas Quadrado é uma Círculo é uma Figura Geométrica Figura Geométrica Quadrado CírculoPolimorfismo ©2012 Ludimila Monjardim Casagrande 3
  4. 4. Polimorfismo  Polimorfismo, que significa “múltiplas formas”, permite a manipulação de instâncias de classes que herdam de uma mesma classe ancestral de forma unificada:  Assim, é possível escrever métodos que recebam instâncias de uma classe C, e os mesmos métodos serão capazes de processar instâncias de qualquer classe que herde de C, já que qualquer classe que herde de C “é um” C.Polimorfismo ©2012 Ludimila Monjardim Casagrande 4
  5. 5. Exemplo de Polimorfismo public class VetorFiguras{ private Figura[] figuras = new Figura[10]; private int totalDeElementos; public boolean contem(Figura fig) { boolean resultado = false; for(int i = 0; i < this.totalDeElementos; i++){ if(fig.equals(this.figuras[i])){ resultado = true; Quadrado q = new Quadrado(2.0); break; Circulo c = new Circulo(2.0); } } if(vetor.contem(q)) return resultado; ... } if(vetor.contem(c)) } ...Polimorfismo ©2012 Ludimila Monjardim Casagrande 5
  6. 6. Exemplo de Polimorfismo public class Vetor { private Object[ ] objetos = new Object[10]; private int totalDeElementos; public boolean contem(Object obj) { boolean resultado = false; for(int i = 0; i < this.totalDeElementos; i++){ if(obj.equals(this.objetos[i])){ resultado = true; break; } } return resultado; } }Polimorfismo ©2012 Ludimila Monjardim Casagrande 6
  7. 7. Polimorfismo  Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse.Polimorfismo ©2012 Ludimila Monjardim Casagrande 7
  8. 8. Polimorfismo  Em outras palavras, polimorfismo é a capacidade de se enviar a mesma mensagem a objetos de classes diferentes, por meio de um mesmo tipo base comum a estes objetos.Polimorfismo ©2012 Ludimila Monjardim Casagrande 8
  9. 9. Exemplo de Polimorfismo public class Figura { public double calcularArea( ) { return 0; } } public class Quadrado extends Figura {  Herança double lado; public Quadrado(double lado) { this.lado = lado; } public double calcularArea( ) {  Sobreposição do método da double area = 0; superclasse area = lado * lado; return area; } }Polimorfismo ©2012 Ludimila Monjardim Casagrande 9
  10. 10. Exemplo de Polimorfismo public class Circulo extends Figura {  Herança double raio; public Circulo (double raio) { this.raio = raio; } public double calcularArea( ) {  Sobreposição do método da double area = 0; superclasse. area = 3.14 * raio * raio; return area; } }Polimorfismo ©2012 Ludimila Monjardim Casagrande 10
  11. 11. Exemplo de Polimorfismo public class Principal { public static void main(String[ ] args) { Figura f1 = new Quadrado(4); Figura f2 = new Circulo(2); System.out.println("Área da Figura 1 é: "  Comportamento + f1.calcularArea( ) + "n" polimórfico. + "Área da Figura 2 é: " + f2.calcularArea( )); } Um mesmo tipo base Figura, por meio das variáveis f1 e f2, é utilizado } para enviar uma mesma mensagem calcularArea para objetos de tipos diferentes Quadrado e Circulo e o comportamento executado será distinto.Polimorfismo ©2012 Ludimila Monjardim Casagrande 11
  12. 12. Exemplo de Polimorfismo public class VetorFiguras { private Figura[] figuras = new Figura[10]; private int totalDeElementos; public double calcularAreaTotal() { double areaTotal = 0; for (int i = 0; i < figuras.length; i++) { if (figuras[i] != null) { areaTotal = areaTotal + figuras[i].calcularArea();  Comportamento } polimórfico. } return areaTotal; } }Polimorfismo ©2012 Ludimila Monjardim Casagrande 12
  13. 13. Outro Exemplo A fila de impressão FilaImpressao Documento armazena objetos imprime() genéricos do tipo Documento imprime() A mensagem transmitida é: imprima todos os Documentos da fila DocWord DocExcel DocPDF Cada tipo de documento conhece seus detalhes de imprime() imprime() imprime() impressãoPolimorfismo ©2012 Ludimila Monjardim Casagrande 13
  14. 14. Vantagens do Polimorfismo  Já vimos que o grande benefício do polimorfismo é permitir que vários objetos de um mesmo tipo base sejam tratados da mesma maneira.  Uma outra vantagem é permitir aumentar um software de maneira mais controlada, mais localizada.Polimorfismo ©2012 Ludimila Monjardim Casagrande 14
  15. 15. Vantagens do Polimorfismo  Considere o exemplo da fila de impressão. Se quisermos incrementar o software e permitir que novos tipos de documentos sejam impressos, a classe FilaImpressao não precisa ser alterada.  Somente novas classes precisam ser criadas para implementar os novos tipos de documentos. Assim, o trabalho é menor e mais localizado, evitando que erros de programação sejam inseridos na classe FilaImpressao.Polimorfismo ©2012 Ludimila Monjardim Casagrande 15
  16. 16. Classes Abstratas  Vimos no exemplo das classes de figuras geométricas, que a classe Figura implementa o método calcularArea, porém o método somente retorna 0 e não realiza nenhum cálculo.  Isso foi feito para que a classe base Figura definisse o comportamento padrão para toda a hierarquia de classes de figuras geométricas, assim todos os objetos das classes derivadas podem ser tratados da mesma maneira (pelo polimorfismo).Polimorfismo ©2012 Ludimila Monjardim Casagrande 16
  17. 17. Classes Abstratas  Uma outra maneira de implementar o comportamento padrão para toda uma hierarquia de classes é fazendo com que a classe base seja uma classe abstrata.  Uma classe abstrata é uma classe que não pode ser instanciada, isto é, nenhum objeto daquela classe pode ser criado.  Uma classe abstrata serve apenas para definir um comportamento comum que todas as classes derivadas devem seguir.Polimorfismo ©2012 Ludimila Monjardim Casagrande 17
  18. 18. Classes Abstratas  Para alterar a classe Figura e torná-la abstrata, basta acrescentar a palavra-chave do Java abstract na sua declaração: public abstract class Figura { public double calcularArea( ) { return 0; } }Polimorfismo ©2012 Ludimila Monjardim Casagrande 18
  19. 19. Classes Abstratas  Desse modo, nenhum objeto da classe Figura pode ser criado e a linha abaixo causará um erro de compilação: Figura f = new Figura( );Polimorfismo ©2012 Ludimila Monjardim Casagrande 19
  20. 20. Métodos Abstratos  O Java permite que métodos sejam definidos como abstratos e, portanto, sem nenhuma implementação.  Para criar um método abstrato, usamos a palavra-chave abstract na assinatura do método e omitimos o seu corpo (já que não há implementação): public abstract class Figura { public abstract double calcularArea( ); }Polimorfismo ©2012 Ludimila Monjardim Casagrande 20
  21. 21. Regras sobre Classes Abstratas  Toda classe derivada de uma classe abstrata deve obrigatoriamente implementar os métodos abstratos da superclasse, caso contrário, um erro de compilação é gerado.  Uma classe que tenha um ou mais métodos abstratos deve ser obrigatoriamente definida como abstrata, caso contrário um erro de compilação é gerado.Polimorfismo ©2012 Ludimila Monjardim Casagrande 21
  22. 22. Regras sobre Classes Abstratas  Uma classe abstrata pode conter métodos não abstratos, isto é, métodos com implementação.  Se esses métodos não abstratos não forem definidos (sobrepostos) nas subclasses, então, quando um objeto da subclasse realizar a chamada a um desses métodos, o código contido na classe abstrata será executado (devido à herança).Polimorfismo ©2012 Ludimila Monjardim Casagrande 22
  23. 23. Exemplo public abstract class Figura { public abstract double calcularArea( ); public void imprimeArea( ) { System.out.println(calcularArea( )); } } public class Principal { public static void main(String[] args) { Quadrado q = new Quadrado(4); Circulo c = new Circulo(2); System.out.print("Área da Figura 1 é: "); q.imprimeArea( ); System.out.print("Área da Figura 2 é: "); c.imprimeArea( ); } }Polimorfismo ©2012 Ludimila Monjardim Casagrande 23
  24. 24. Bibliografia Sugerida  Java: Como programar Autores: H. M. Deitel e P. J. Deitel Editora: Pearson – 6a Edição  Complete Java 2 Certification Study Guide SybexPolimorfismo ©2012 Ludimila Monjardim Casagrande 24

×