Oberdan B. Ferreira oberdan.bitencourt@gmail.com Polimorfismo Oberdan B. Ferreira oberdan.bitencourt@gmail.com.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

ABSTRAÇÃO processo de representar um grupo de entidades através de seus atributos comuns feita a abstração, cada entidade particular (instância) do grupo.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS CLASSES ABSTRATAS
Modelagem Orientada a Objetos
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.
Iniciação ao Java – Márcio F. Campos
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
Adapter.
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Introdução ao paradigma de programação: Orientado a Objetos
Diagrama de Classes.
Linguagem de Programação II
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
7 Abstração Genérica Unidades genéricas e instanciação.
Interfaces em Java1 Interfaces Prof. Ricardo Linden.
UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!
Herança e Polimorfismo
Classes e objetos P. O. O. Prof. Grace.
Linguagem técnica de programação I Java i
Linguagem técnica de programação I Java – REVISÃO
TÉCNICAS DE PROGRAMAÇÃO II
Curso de extensão em Desenvolvimento Web
Herança em C#.
Polimorfismo em C#.
Conceitos básicos de orientação a objetos
XADREZ O JOGO DE XADREZ DESENVOLVE A IMAGINAÇÃO, A CONCENTRAÇÃO E CONTRIBUI PARA FORMAR O ESPÍRITO DE INVESTIGAÇÃO, ALÉM DE INSTIGAR A CRIATIVIDADE E DESENVOLVER.
Programação Orientada à Objetos
Tópicos avançados em internet A
Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,
Oberdan Bitencourt Ferreira
Herança em Java.
Erick Luis Moraes de Sousa
Professora Lucélia Oliveira
Orientação a Objetos Parte I
Programação orientada a objectos em C++
Programação Orientada à Objetos
Definição Classe Objeto Construtor de Classes Manipulando o objeto Namespace Utilização do namespace Herança Polimorfismo Encapsulamento Propriedades.
UML Diagrama de classes.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
© Ricardo Pereira e Silva
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação Orientada à Objetos
Interfaces e classes abstratas. Conceitos de Orientação a Objeto.
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Polimorfismo.
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
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.
Herança e Polimorfismos
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Classes Abstratas e Interfaces GX – Aula05 1.
Aprendendo Xadrez online
Bruno Inojosa MCP .NET Framework
Orientação a Objetos Programação Estruturada e Orientada a Objetos
CONEXÕES DE SABERES Amirton Chagas – Paola Accioly –
Introdução a Orientação 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.
Módulo II Capítulo 1: Orientação a Objetos
Relacionamentos UML e Polimorfismo
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Estrutura de Dados Prof. André Cypriano M. Costa
Padrões de Projeto 2 – Revisão de Programação Orientada a Objetos.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
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
Transcrição da apresentação:

Oberdan B. Ferreira oberdan.bitencourt@gmail.com Polimorfismo Oberdan B. Ferreira oberdan.bitencourt@gmail.com

Polimorfismo Conceito Polimorfismo: Propriedade ou estado do que é polimorfo. (Fonte: Dic. Michaelis Online) Polimorfo: 1 Que se apresenta ou ocorre sob formas diversas. 2 Que assume ou passa por várias formas, fases etc. (Fonte: Dic. Michaelis Online) É uma característica dos sistemas e da programação orientada a objetos. Esta técnica é que faz da Orientação por Objetos uma ferramenta interessante. Está intimamente relacionado à capacidade de estendermos um sistema sem que tenhamos de alterar substancialmente o que já existe.

Polimorfismo Ad-hoc Permite ter funções do mesmo nome, com funcionalidades similares, em classes sem nenhuma relação entre elas (a não ser, claro, serem filhas da classe object). Permite assim operadores cuja utilização será diferente de acordo com o tipo dos parâmetros que lhes são passados. É por isso possível, por exemplo, sobrecarregar o operador ‘+’ e fazê-lo realizar ações diferentes conforme se trate de uma operação entre duas totalidades (adição) ou entre duas cadeias de caracteres (concatenação).

Polimorfismo Paramétrico Possibilidade de definir várias funções do mesmo nome mas possuindo parâmetros diferentes (em número e/ou tipo). Assim, pode-se por exemplo definir vários métodos homônimos add() efetuando uma soma de valores. O método int add (int, int) O método float add (float, float) O método char add(char, char)

Polimorfismo Polimorfismo de Herança Permite fazer abstração dos detalhes das classes especializadas de uma família de objeto, mascarando-o com uma interface comum (que é a classe básica). Imagine um jogo de xadrez que comporta os objetos rei, rainha, bispo, cavalo, torre e peão, herdando cada um do objeto peça. O método movimento() poderá, graças ao polimorfismo de herança, efetuar o movimento adequado em função da classe do objeto remetido no momento da chamada. Isto permitirá nomeadamente ao programa dizer peça.movimento() sem ter de se preocupar com a classe da peça.

Polimorfismo Polimorfismo de Herança

Polimorfismo Extra: Classe Abstrata Geralmente quando construímos uma hierarquia de classes, há classes que não são projetadas para ser instanciadas (elas são importantes para o Polimorfismo). No exemplo apresentado anteriormente, a classe base Animal não tem sentido de ser usada para criarmos objetos dela, uma vez que ela foi criada para que seus elementos fossem reaproveitados nas subclasses (Vaca, Cao e Gato). Para deixar claro que não vamos usar a classe para gerar objetos (instanciação), precedemos sua declaração com o marcador abstract. Se tentarmos instanciar um objeto dela, o compilador apresentará um erro.