Polimorfismo em C#.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Paulo Marques Hernâni Pedroso
PHPOO Erick Souza. Conceitos de Orientação a Objetos Objeto é um conceito ou item(concreto ou abstrato). Software orientado a objetos Uma classe é uma.
Java – Classes Abstratas
H ERANÇA E P OLIMORFISMO Prof. Thiago Pereira Rique
Projeto de Sistemas de Software Leandra Mara da Silva
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
Polimorfismo e Classes Abstratas Profa
Introdução ao paradigma de programação: Orientado a Objetos
Linguagem de Programação II
Interfaces em Java1 Interfaces Prof. Ricardo Linden.
Programação Orientada a Objetos
Programação orientada a objetos com Java
UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Herança e Polimorfismo
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
TÉCNICAS DE PROGRAMAÇÃO II
Programação orientada a objetos: Polimorfismo
Programação Orientada à Objetos
Oberdan B. Ferreira Polimorfismo Oberdan B. Ferreira
Laboratório de Programação I
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,
Métodos de Construção de Software: Orientação a Objetos
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Professora Lucélia Oliveira
Orientação a Objetos Parte I
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Herança em POO Importante:
SISTEMAS DISTRIBUIDOS Aula 4
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação Orientada à Objetos
Polimorfismo.
Interfaces POO Avançado.
Prof.: Bruno Rafael de Oliveira Rodrigues.  Existe para poder servir de molde para outras classes.  Deve ser declarada tal usando-se a palavra chave.
Aula Prática 1 Monitoria IP/CC (~if669). Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício.
Análise e Projeto de Sistemas
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Bruno Inojosa MCP .NET Framework
Linguagem II Classes Abstratas Interfaces. Davi Pires Revisão Reuso de código Superclasses e subclasses Composição vs. Herança Construtores.
Factory.
Modelo de Análise e Projeto
Introdução a Orientação a Objetos
Introdução à modelagem orientada a objetos
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
2 – Revisão de Programação Orientada a Objetos
Polimorfismo - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour ▐ Polimorfismo ▐ Exemplo ▐ Classes Abstratas.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Semana /08/2012 Professor Leomir J. Borba-
20/04/2017 Orientação a Objetos 1 1.
Módulo II Capítulo 1: Orientação a Objetos
Relacionamentos UML e Polimorfismo
4 CONCEITOS BÁSICOS EM POO Dilvan Moreira.  Objetos  Classes  Herança  Polimorfismo Lembrando: 4 Conceitos Básicos.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Herança. É o compartilhamento de características entre classes com base em um relacionamento hierárquico. – Possibilita a derivação de tipos mais específicos.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Análise e Design de Software Site:
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Análise Orientada a Objetos Prof. Wolley W. Silva
Transcrição da apresentação:

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 Veja o diagrama Animal Peixe Macaco Ave

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

Polimorfismo – Classe Animal

Polimorfismo – Classe Peixe

Polimorfismo – Classe Macaco

Polimorfismo – Classe Ave

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

Polimorfismo– Programa Principal

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

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?

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

Polimorfismo Qual a diferença entre polimorfismo e herança?

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();

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

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

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

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

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:

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

Interface - exemplo

Interface – Classe para SqlServer

Interface – Classe para MySql