Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Polimorfismo, Notas de estudo de Informática

explicação polimorfismo ad-hoc

Tipologia: Notas de estudo

2012

Compartilhado em 30/11/2012

gabriel-pehls-1
gabriel-pehls-1 🇧🇷

1 documento

1 / 10

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
POLIMORFISMO
Por Gabriel Pehls
PNA – Sistemas de Informação
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Polimorfismo e outras Notas de estudo em PDF para Informática, somente na Docsity!

POLIMORFISMO

Por Gabriel Pehls

PNA – Sistemas de Informação

  • A sobrecarga de métodos pode ser

definida como polimorfismo ad-hoc , onde

implementamos métodos com o mesmo

formato, mudando a lista de parâmetros

que ele recebe;

  • Embora o resultado possa ser o mesmo

que aquele obtido com o uso de herança;

  • No polimorfismo ad-hoc não há garantia

de que os métodos sobrecarregados

tenham o mesmo comportamento.

Polimorfismo ad-hoc

public class Acao {

public static void mostrarTudo(Vetor vetor, Lista Lista1) throws

Exception{

vetor.mostrarTudo(Lista1);

public static void mostrarTudo (Encadeada encadeada,Lista Lista1) throws

Exception{

encadeada.mostrarTudo(Lista1);

public class Acao {

public static void mostrarTudo(Vetor vetor, Lista Lista1) throws

Exception{

vetor.mostrarTudo(Lista1);

public static void mostrarTudo (Encadeada encadeada,Lista Lista1) throws

Exception{

encadeada.mostrarTudo(Lista1);

Polimorfismo ad-hoc

Esta classe define o polimorfismo, pois

podemos escolher o tipo de lista a ser

criada no main , utilizando-se da criação

de uma nova execução do método

mostrarTudo , modificando-se apenas o

objeto passado ao método.

Operação em Switch public static void mostrarTudoSwitch ( int operacao, Lista Lista1) throws Exception { switch (operacao) { case 1: Lista1 = new Lista (4); Lista1.insercao ( new PessoaVet ("maria", 3, ‘F'), 0); Lista1.insercao( new PessoaVet ("amanda",3,'F'), 1); Lista1.insercao( new PessoaVet ("bruna",4,'F'), 2); Lista1.insercao( new PessoaVet ("zenaldo",4,'M'), 3); System. out .println ("\nLista Vetorial: \n"); Lista1.impressaoVet(); Lista1.bubbleSortVetores(Lista1); System. out .println ("\nLista Vetorial Organizada: \n"); Lista1.impressaoVet(); break; case 2: Lista1 = new Lista (); Lista1.insercaoReversa ( new Pessoa ("maria", 3, ‘F'), 1); Lista1.insercaoReversa( new Pessoa ("amanda",3,'F'), 2); Lista1.insercaoReversa( new Pessoa ("bruna",4,'F'), 3); Lista1.insercaoReversa( new Pessoa ("zenaldo",4,'M'), 4); System. out .println ("\nLista Encadeada: \n"); Lista1.impressao(); break ; default : System.out.println ("Você deveria ter selecionado um dos dois tipos de lista e/ou inserido o número correto!"); } } public static void mostrarTudoSwitch ( int operacao, Lista Lista1) throws Exception { switch (operacao) { case 1: Lista1 = new Lista (4); Lista1.insercao ( new PessoaVet ("maria", 3, ‘F'), 0); Lista1.insercao( new PessoaVet ("amanda",3,'F'), 1); Lista1.insercao( new PessoaVet ("bruna",4,'F'), 2); Lista1.insercao( new PessoaVet ("zenaldo",4,'M'), 3); System. out .println ("\nLista Vetorial: \n"); Lista1.impressaoVet(); Lista1.bubbleSortVetores(Lista1); System. out .println ("\nLista Vetorial Organizada: \n"); Lista1.impressaoVet(); break; case 2: Lista1 = new Lista (); Lista1.insercaoReversa ( new Pessoa ("maria", 3, ‘F'), 1); Lista1.insercaoReversa( new Pessoa ("amanda",3,'F'), 2); Lista1.insercaoReversa( new Pessoa ("bruna",4,'F'), 3); Lista1.insercaoReversa( new Pessoa ("zenaldo",4,'M'), 4); System. out .println ("\nLista Encadeada: \n"); Lista1.impressao(); break ; default : System.out.println ("Você deveria ter selecionado um dos dois tipos de lista e/ou inserido o número correto!"); } }

public class Vetor extends Acao{ public void mostrarTudo (Lista Lista1) throws Exception { Lista1 = new Lista (4); Lista1.insercao ( new PessoaVet ("maria", 3, ‘F'), 0); Lista1.insercao( new PessoaVet ("amanda",3,'F'), 1); Lista1.insercao( new PessoaVet ("bruna",4,'F'), 2); Lista1.insercao( new PessoaVet ("zenaldo",4,'M'), 3); System. out .println ("\nLista Vetorial: \n"); Lista1.impressaoVet(); Lista1.bubbleSortVetores(Lista1); System. out .println ("\nLista Vetorial Organizada: \n"); Lista1.impressaoVet(); } } public class Vetor extends Acao{ public void mostrarTudo (Lista Lista1) throws Exception { Lista1 = new Lista (4); Lista1.insercao ( new PessoaVet ("maria", 3, ‘F'), 0); Lista1.insercao( new PessoaVet ("amanda",3,'F'), 1); Lista1.insercao( new PessoaVet ("bruna",4,'F'), 2); Lista1.insercao( new PessoaVet ("zenaldo",4,'M'), 3); System. out .println ("\nLista Vetorial: \n"); Lista1.impressaoVet(); Lista1.bubbleSortVetores(Lista1); System. out .println ("\nLista Vetorial Organizada: \n"); Lista1.impressaoVet(); } } Esta classe desenvolve e preenche uma lista vetorial, imprimindo-a no fim. Método Vetor

Fontes  http://www2.ufp.pt/~lmbg/textos/java_intro.pdf, acessado em 23 de outubro, 08h44min;  http://javafree.uol.com.br/topic-858700-IF-para- switch.html, acessado em 23 de outubro, 08h47min;  (^) http://br.answers.yahoo.com/question/index? qid=20071104120547AAbhnYg, acessado em 23 outubro, 08h48min;  http://www.milfont.org/blog/wp-content/upload/ Manual.pdf, acessado em 23 outubro, 08h54min.