Na verdade, polimorfismo eh o q o Sven explicou no e-mail anterior, ou seja, 
estah relacionado com o Dynamic Binding. Isso que estah explicado no e-mail 
do Alexandre (embora eu jah tenha visto milhares de vezes erradamente, o q 
significa q algum livro deve ter dito isso) eh o overloading, ou seja, qdo 
um metodo tem diversas formas de ser chamado por causa da lista de 
parametros e, por isso, pode tomar n acoes diferentes.
Vou usar o exemplo classico do livro do Bruce Eckel, Thinking in Java:

Imagine q vc tenha uma classe FormaGeometrica + ou - assim

class FormaGeometrica {
   public void desenha() {
      System.out.println("Nao implementado...");
   }
...
...
}

Agora imagine uma subclasse assim:

class Circulo extends FormaGeometrica {
   public void desenha() {
      // codigo para desenhar circulo...
   }
...
...
}

E outra assim:

class CirculoPreenchido extends Circulo {
   public void desenha() {
      super.desenha();
      // codigo para preencher circulo...
   }
...
...
}


Qdo vc faz:

FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();

imagine que o metodo retorna qualquer forma geometrica registrada no sistema 
(Circulo, CirculoPreenchido, FormaGeometrica e outras subclasses). Se este 
metodo foi declarado como :

class FabricaDeFormas {
   public static FormaGeometrica geraFormaAleatoria() {
      //codigo pra gerar forma aleatoria
   }
}

ele pode retornar Circulo, por exemplo, q como "extends" FormaGeometrica EH 
uma FormaGeometrica.
Voltando a linha do exemplo:


FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();
forma.desenha();


vc nao pode dizer o q este metodo ira fazer. Ele pode tanto emitir a 
mensagem q nao esta implementado, como pintar um circulo ou ainda pintar um 
circulo e preenche-lo. Esta eh a beleza do polimorfismo. O metodo da classe 
q vc realmente retornou do geraFormaAleatoria() e q vai ser chamado. Baixe o 
Thinking In Java (em ingles) do site do Bruce (www.bruceeckel.com).

Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br

>From: Alexandre Rodrigues Gomes <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
>Subject: RES: [java-list] Polimorfismo
>Date: Wed, 7 Mar 2001 18:01:20 -0300
>
>André, por poliformismo podemos que concluir que seja algo com muitas
>formas, certo ?
>Este algo de que estamos falando são os métodos, ou seja, polimorfismo é a
>propriedade para que um método assuma várias formas.
>Por exemplo, considere um método que faça um pesquisa por um cliente numa
>base de dados qualquer. Suponha que eu tenha a possibilidade de fazer a
>pesquisa do cliente pelo seu nome ou por seu CPF. Desta forma, teríamos a
>necessidade de criar dois métodos distindos:
>
>findClientByName(String name) e
>findClientByCPF(long cpf)
>
>Com o polimorfismo, isto não é necessário, o que torna sua solução mais
>transparente e elegante:
>
>findClient(String name) e
>findClient(long cpf)
>
>suponha também que desejamos criar um método para pesquisa que faça a
>interseção entre idade e naturalidade. Logo, construiríamos um método com a
>seguinte assinatura:
>
>findClient(Date idade, String natural)
>
>e todos estes métodos poderiam conviver numa mesma classe, sem problemas.
>
>By Alê!
>
>
>-----Mensagem original-----
>De: Yurion "André [mailto:[EMAIL PROTECTED]]
>Enviada em: quarta-feira, 7 de março de 2001 14:44
>Para: [EMAIL PROTECTED]
>Assunto: [java-list] Polimorfismo
>
>
>Caros amigos,
>
>Estou estudando POO e estou com algumas dúvidas sobre
>polimorfismo.
>A única coisa que sei sobre o assunto é que
>está propriedade da OO permite que uma classe tenha
>vários métodos com o mesmo nome desde de que o múmero
>e o tipo de parâmetros seja diferentes.
>Todo mundo fala que polimorfismo é só isso!!
>Porém queria que se possível vc´s me mostrassem
>exemplos de onde e quando utilizar está propriedade e
>o que significa realmente polimorfismo..
>Desde já agradeço a atenção de todos,
>
>André Yurion
>
>__________________________________________________
>Do You Yahoo!?
>Get email at your own domain with Yahoo! Mail.
>http://personal.mail.yahoo.com/
>
>------------------------------ LISTA SOUJAVA ----------------------------
>http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
>dúvidas mais comuns: http://www.soujava.org.br/faq.htm
>regras da lista: http://www.soujava.org.br/regras.htm
>para sair da lista: envie email para [EMAIL PROTECTED]
>-------------------------------------------------------------------------
>
>------------------------------ LISTA SOUJAVA ----------------------------
>http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
>dúvidas mais comuns: http://www.soujava.org.br/faq.htm
>regras da lista: http://www.soujava.org.br/regras.htm
>para sair da lista: envie email para [EMAIL PROTECTED]
>-------------------------------------------------------------------------
>

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a