1 / 24

Polimorfismo em C#

Polimorfismo em C#. Polimorfismo. Programar no geral ao invés de programar no específico Permite escrever programas que processam objetos que compartilham a mesma classe base em uma hierarquia de classes, como se todas fossem objetos da classe base. Exemplo de Polimorfismo.

takoda
Download Presentation

Polimorfismo em C#

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Polimorfismo em C#

  2. Polimorfismo • Programar no geral ao invés de programar no específico • Permite escrever programas que processam objetos que compartilham a mesma classe base em uma hierarquia de classes, como se todas fossem objetos da classe base

  3. Exemplo de Polimorfismo • Veja o diagrama Animal Peixe Macaco Ave

  4. Exemplo de Polimorfismo • Programa de simulação de movimento de vários tipos de animais para um estudo biológico • Três tipos de animais sob investigação: • Peixe • Macaco • Ave • Animal contém método mover estendem a superclasse Animal

  5. Polimorfismo – Classe Animal

  6. Polimorfismo – Classe Peixe

  7. Polimorfismo – Classe Macaco

  8. Polimorfismo – Classe Ave

  9. Polimorfismo– Programa Principal • No programa principal criamos um vetor de referências a objetos dasvárias subclasses Animal simulando os movimentos • Programa envia mensagem a cada objeto e cada tipo específico de Animal responde à mensagem de maneira diferente • Peixe – nada 1 metro • Macaco – pula 1 ½ metro • Pássaro – voa 3 metros

  10. Polimorfismo– Programa Principal

  11. Polimorfismo • Conceito chave de polimorfismo: • Cada objeto sabe fazer a coisa certa em resposta à mesma chamada de método!

  12. Vantagens do Polimorfismo • Projeto e implementação de sistemas que são facilmente extensíveis • Novas classes podem ser adicionadas a partes gerais do programa com pouca ou nenhuma modificação • O que é necessário alterar no programa quando uma nova classe é gerada?

  13. Vantagens do Polimorfismo • Resposta: • As partes do programa que exige conhecimento direto das novas classes adicionadas

  14. Polimorfismo • Qual a diferença entre polimorfismo e herança?

  15. Polimorfismo • Herança: objeto éinstanciado e o método é chamado diretamente do objeto • Peixe p = new Peixe(); • p.mover(); • Polimorfismo: o método a ser executado é decidido em tempo de execução • Animal vetor[] animais; • // animais são inicializados e instanciados • animais[i].mover();

  16. Polimorfismo • Programadores tratam generalidades • Ambientes de execução tratam de especificidades • Programadores instruem objetos a se comportarem de maneira apropriada, sem nem mesmo conhecer seus tipos

  17. Polimorfismo • Polimorfismo promove extensibilidade • O software que invoca comportamento polimórfico é independente dos tipos para os quais as mensagens são enviadas • Novos tipos de objetos que podem responder a chamadas de método existente podem ser incorporados sem exigir modificações no sistema básico

  18. Mais de Polimorfismo • Para utilizar polimorfismo, os objetos devem executar as mesmas ações (métodos), mesmo que com comportamento diferente

  19. Mais de Polimorfismo • OO oferece uma capacidade que exige que classes não relacionadas implementem um conjunto de métodos comuns? • Em outras palavras: • Há como forçar que a implementação de uma ação comum a classes de objetos diferentes sejam implementadas nessas classes? • Ex: mover para Macaco, Pássaro e Peixe

  20. Interface • Resposta: SIM! Interfaces • Interfaces que definem e padronizam coisas, pessoas e sistemas podem interagir entre si • Uma interface contém apenas as assinaturas de métodos, propriedades, eventosou indexadores • A implementação de membros é feita na classe ou struct que implementa a interface, conforme o exemplo seguinte:

  21. Interface - exemplo • Construir uma biblioteca de classes para comunicação com banco de dados • Criamos uma interface para que todos as classes a implementem, assim todas terão os mesmos métodos

  22. Interface - exemplo

  23. Interface – Classe para SqlServer

  24. Interface – Classe para MySql

More Related