Caro André, 

Métodos polimórficos são aqueles que, uma vez HERDADOS
da classe base, são implementados(ou re-implementados)
na classe herdeira. Veja a seguir porque digo
IMPLEMENTAR ou RE-IMPLEMENTAR.

No seu caso, você pode:
1) Definir getPreco() como abstrato em Poligono,
tornando essa classe também abstrata. Esse método 
deverá então ser IMPLEMENTADO nas classes derivadas.
2) Definir em Polígono uma implementação básica em
getPreco() e depois RE-IMPLEMENTAR esse método nas
derivadas.

Em qualquer uma das alternativas, o seu teste anterior
passará a funcionár (espero!!!).

Espero ter ajudado em algo. Boa sorte!!

Mauro



----- Original Message ----- 
From: "André Barbosa" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, January 30, 2002 6:11 PM
Subject: [java-list] Dúvida


Dúvida básica de iniciante:

Fazendo um teste de polimorfismo, montei uma estrutura
assim:

Classes:

                          poligono 
        /                      \
               retangulo             circulo
                    |
               quadrado


Retangulo e circulo extendem de poligono, e quadrado
extende de retangulo. Pois bem. 

Todas as classes implementem um método getValor, que
retorna um valor (constante) double do objeto. E as
classes retangulo, circulo e quadrado implementam um
método getPreco, que retorna um preco (constante)
double objeto.

Suponhamos que eu queira criar um array de referência
para vários poligonos, eu crio um array do tipo
poligono 

poligono[] p = new poligono[3];

Depois de criar cada objeto em seu indice no array, eu
quero listar o valor deles. Normal, na classe que eu
criei o array, crio um método "Mostra", por exemplo,
que recebe um poligono

public void mostra(poligono p) {
   System.out.println(p.getValor());
}

Porém, se eu utilizo o mesmo método para exibir o
Preco...

public void mostra(poligono p) {
   System.out.println(p.getPreco());
}

Me dá um erro de compilação, pq ele diz que getPreco()
é um carinha desconhecido da classe poligono.

A pergunta é a seguinte: eu sou obrigado a implementar
getPreco() em poligono, para o polimorfismo
funcionar????

[]´s

André


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

_______________________________________________________________________________________________
Yahoo! GeoCities
Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo! GeoCities. É fácil 
e grátis!
http://br.geocities.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