----- Original Message -----
From: "Yurion André" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, March 07, 2001 2:44 PM
Subject: [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]
> -------------------------------------------------------------------------

Imagina uma super classe ou interface Poligono:

public interface Poligono{
    public void draw();
}

E duas classes filhos de polígonos: Triangulo e Quadrado:

public class Triangulo implements Poligono{
    /** rotina que desenha um triangulo */
    public void draw(){
        System.out.println("desenhar um triangulo");
    }
}

public class Quadrado implements Poligono{
    /** rotina que desenha um quadrado */
    public void draw(){
        System.out.println("desenhar um quadrado");
    }
}

Imagine uma classe que contém uma colecao de poligonos e as desenhe:

public class PoligonoCollection extends Vector {
    public void inserirPoligono(Poligono poligono){
        addElement(poligono);
    }

    public void drawAll(){
        java.util.Enumeration enumeration = elements();
        while(enumeration.hasMoreElements()){
             ((Poligono)enumeration.nextElement()).draw();
        }
    }
}



E uma classe para testa-lo ...


public class TestePoligonos{
    public static void main(String [] args){
        PoligonoCollection pCollection = new PoligonoCollection();
        pCollection.inserirPoligono(new Triangulo());
        pCollection.inserirPoligono(new Triangulo());
        pCollection.inserirPoligono(new Triangulo());
        pCollection.inserirPoligono(new Quadrado());
        pCollection.inserirPoligono(new Triangulo());
        pCollection.inserirPoligono(new Quadrado());
        pCollection.inserirPoligono(new Triangulo());
        pCollection.inserirPoligono(new Quadrado());
        pCollection.drawAll();
    }
}


Por que o polimorfismo ???

Imagina uma outra situação onde você precise utilizar outras figuras
geométricas além do Triangulo e Quadrado...
Você precisa reimplementar a classe PoligonoCollection ???
Resposta é não !

Sacou o por que do polimorfismo ????


[]'s

LN


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://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] 
-------------------------------------------------------------------------

Reply via email to