Não pode se pensar tão simplificada em herança multipla. Herança muiltipla é um conceito muito complexo e a pessoa deve saber exatamente o que está fazendo. Fazer um amfibio de carro e navio não daria certo mas poderia começar do quais propriedades de um carro vc quer que o amfibio tem e de quais do navio. Do navio vc provavelmente não quer mais do que o casco e do carro provavelmente so o chassis. Herança multipla deve ser algo que acontece com classes bem básicos e nã de classes complexos. U exelente exemplo é o iostream de C++:
foi criado uma classe stream, que nada mais faz do que abrir streams. Foi criado a classe istream que herda do stream e acresenta somente operações de input stream e foi criado a classe ostream que somente meixe com output e herda do stream. ai com herança multipla foi criado uma classe iostream que herda do istream e ostream e faz input e output para streams. Paulo Simao wrote: >PessoALL, >Ontem eu estava discutindo com um amigo, que está começando a desenvolver em >C++. Ele me perguntou sobre herança múltipla em Java. (Estamos falando de >conceitos, ok?). >Ai eu coloquei para da seguinte forma (Exemplo Clássico): > >"Suponha que vc tenha um carro e um barco. Se vc quer um carro-anfíbio, >basta que vc crie uma classe filha de ambas. >Porém, sabemos que isso é conceitualmente errado. >Para obter um carro anfíbio, não nos basta juntar o conceito de carro com o >conceito de navio. Na verdade, temos uma lista de requisitos para que >classifiquemos algo como barco, e uma segunda para que classifiquemos algo >como carro. >Para criarmos um carro-anfíbio portanto, devemos criar algo que (aí sim) >preencha uma nova lista de pré-requisitos, formada pela união das duas >anteriores. Daí sim, poderemos criar um "molde"(Classe/Implememtação) de >carro anfíbio, e permitir sua produção em massa (Instâncias/Objetos)." > >Ai vem minha pergunta, depois de contar essa histórinha, que eu refleti... >Será que as pessoas não estão acostumadas a programar de maneira muito >simplista? >Eu digo isso com base no descaso que as pessoas fazem do uso de interfaces. >A eu ver , a programação processual (macro-programação) deve ser feita >apenas a nível de interface, e as particularizações de um sistema, aí sim, >implementadas em classes. Obviamente no final devemos implementar uma classe >para fazer o papel de cada interface, mas ela só preencherá >(micro-programação) o esqueleto criado com as interfaces. > >Que vc's acham disso, na teoria e prática? >Vc's trabalhado assim? >Em suma, vamos discutir o assunto? > []'s a todos > P.O. > >ps-> Desculpem email longo. > > > > >------------------------------ 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] >------------------------------------------------------------------------- > ------------------------------ 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] -------------------------------------------------------------------------