Sim, precisa, mas voce poderia fazer o seguinte:

1. Crie uma interface, por exemplo, chamada Componente e declare suas assinaturas getPreco() e getValor().

2. Crie uma classe abstrata ComponenteImpl que extende Componente. Desta forma você poderá implementar ou não os métodos getPreco() e getValor(). Lembre-se: implementar não significa que você não tenha que "declarar"  ou "assinar" os métodos - isto é obrigatório - isto apenas vai te dar a oportunidade de definir métodos/operações que são comuns a todas as suas classes.

3. Faça com que Poligono extenda Componente.

  André_Barbosa <[EMAIL PROTECTED]> escreveu:

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!

Responder a