Bom, para comecar, existem 2 tipos de polimorfismo.
O primerio, e mais simples, eh o que voce descreve no
seu email. A possibilidade de escrever varios metodos
com o mesmmo nome, desde que tenham assinaturas*
diferentes. Esse tipo de policorfismo tambem eh
chamado de sobrecarga de metodo.

Um exemplo tipico desse pode ser encontrado nos
construtores. A classe String, por exemplo, pode ser
criada de 11 maneiras diferentes. 
Mas essa forma de polimerfismo eh muito simples, e por
si soh nao significa muito em termos de POO.

A outra forma de polimorfismo, muito mais util, eh a
capacidade de um objeto de uma subclasse ocupar o
lugar de um objeto da super classe. E a JVM se
encarrega de executar os metodos do objeto
instanciado, independente do tipo declarado.

Exemplo.

class FormaGeometrica {
    public void desenhar(){
        System.out.println("Forma Geometrica");
    }

}

class Triangulo extends FormaGeometrica {
    public void desenhar(){
        System.out.println("Triangulo");
    }
}


public class Foo  {
    
    public static void main(String[] s) {
        FormaGeometrica f = new Triangulo();
        f.desenhar();
    }
}


Quando o metodo “desenhar“ for executado em “f”, a
string “Triangulo” serah impressa, mesmo que “f” tenha
sido declarado como do tipo “FormaGeometrica”. Esse eh
o polimorfismo que tem mais valor na POO, e resolve
diversos problemas. Tambem eh chamado de “Dynamic
Binding”, “Late Binding”, “Run-time Binding” e outros
sinonimos, na literatura.
Praticamente todo bom livro de POO/Java tem uma boa
definicao de polimorfismo. 





* o numero, o tipo e a ordem dos parametros de um
metodo definem sua assinatura. Porem, o tipo de
retorno de um metodo nao eh parte da assinatura, pelo
menos nao em Java ou C++. 


Silvio


--- Yurion André <[EMAIL PROTECTED]> wrote:
> 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] 
>
-------------------------------------------------------------------------
> 
> 
> 
> 


__________________________________________________
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] 
-------------------------------------------------------------------------

Responder a