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

Responder a