Precisa sim ...
Declare o método na classe polígono com a mesma assinatura que você está utilizando nas subclasses que o seu problema está resolvido.

Fábio Jorge Corrêa
Citibank e-Business Solutions 
Phone:  55 11 3457.0675
Fax:  55 11 3457.0652
mailto:fabio.jorge@citicorp.com

-----Original Message-----
From: andre.lista [mailto:andre.lista@uol.com.br]
Sent: quarta-feira, 30 de janeiro de 2002 18:12
To: java-list
Cc: andre.lista
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 java-list-unsubscribe@soujava.org.br
-------------------------------------------------------------------------