Caros colegas.
A algum tempo toquei no assunto que hoje volto a escrever novamente.
Como implementar heranca multipla em Java ??
Na ultima vez em que toquei neste assunto, colegas da lista responderam
a questao (obrigado) dizendo que uma maneira eh utilizar interfaces.
Levando-se em consideracao a minha duvida em relacao a forma de
implementacao de tal solucao e a eficacia da mesma, abaixo segue um
exemplo classico de heranca multipla, o qual estou tentando implementar da
forma mais inteligente em Java.
No arquivo (classdiagram1.gif) estah o diagrama utilizando heranca
multipla. Eh um exemplo classico de Veiculo, VeiculoTerrestre,
VeiculoAquatico e VeiculoAnfibio. Onde a classe Veiculo eh a super-classe.
VeiculoTerrestre e VeiculoAquatico herdam caracteristicas da classe
Veiculo. E a classe VeiculoAnfibio estah herdando tanto caracteristicas da
classe VeiculoTerrestre, como VeiculoAquatico (olhe o diagrama).
Sabemos que implementar esta solucao como estah no diagrama nao eh
possivel em Java, logo: utilizando interfaces eu desenhei outro diagrama
(classdiagram2.gif) que deve ser equivalente ao primeiro.
As minhas perguntas sao:
1. Se uma entidade externa (outro objeto que nao esteje especificado no
diagrama) instanciar um objeto da classe VeiculoAnfibio e invocar o metodo
da classe Veiculo (putMarcaMotor(String)) como eu devo proceder para
implementar tal situacao jah que a classe VeiculoAnfibio nao estah
herdando caracteristicas da classe Veiculo, mas soh estah implementando as
classes IVeiculoTerrestre e IVeiculoAquatico ??
1.a. Uma solucao seria instanciar a propria classe VeiculoTerrestre dentro da
classe VeiculoAnfibio, logo ela teria acesso a estes metodos. Mas se eu
instanciar tanto a classe VeiculoTerrestre como a classe VeiculoAquatico
eu terei para uma unica classe VeiculoAnfibio dois objetos da classe
Veiculo.
2. Como eu posso implementar a sobrecarga de metodos ??
3. Os atributos que deveriam ser herdados, como ficam ?? Tenho que
especificar na sub-classe ???????
Acho bom eu ficar por aqui. Nao sei se fui claro o bastante, mas as
minhas duvidas ainda continuam. E realmente eu nao sei como a utilizacao
de interfaces pode suprir a falta de heranca multipla.
OBrigado pela atencao.
--------------------------------------------------------------
Fabricio Jailson Barth
--------------------------------------------------------------
"Qual serah o absurdo de hoje que serah a verdade de amanha ?"
(Alfred North Whitehead (1925))
--------------------------------------------------------------
classdiagram2.gif
classdiagram1.gif
------------------------------ 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]
-------------------------------------------------------------------------