A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Polimorfismo Oberdan B. Ferreira

Apresentações semelhantes


Apresentação em tema: "Polimorfismo Oberdan B. Ferreira"— Transcrição da apresentação:

1 Polimorfismo Oberdan B. Ferreira

2 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.

3 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).

4 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)

5 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.

6 Polimorfismo Polimorfismo de Herança

7 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.


Carregar ppt "Polimorfismo Oberdan B. Ferreira"

Apresentações semelhantes


Anúncios Google