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

Responder a