Herança Multipla é um assunto muito complexo de C++. Antes de criar uma 
classe com herança multipla voce deve saber muito bem o que está 
fazendo. Não é possivel criar uma clase filho de duas classes que tem um 
metodo foo com o mesmo signature.

Precisa saber que Herança multipla não é uma coisa muito usado nem em 
C++. O caso que entra na minha cabeça é a classe iostream:

class stream{

}

class instream : public stream{

}

class outstream : public stream{

}

class iostream : public instream : public outstream{
}

sven

Jorge Martins wrote:

> Jean,
> 
> Mas isso é um enorme problema. A última coisa que você deseja fazer com uma
> classe sua é mudar o nomes dos métodos. Todas as chamadas para este métodos
> terão que ser alteradas. E ainda há vezes que você simplesmente não pode
> mudar esses nomes, ou por não ter o código fonte, ou por que alguma outra
> entidade que chama esse método não pode ser alterada.
> 
> E como é a escolha de qual método você irá herdar caso as duas (ou mais
> classes) pais tenham métodos com mesmo nome. Cada solução inventada acaba
> caindo em pequenos problemas, aumentando em muito o custo de implementação e
> a transparência fica prejudicada.
> 
> Por causa disso, os desenvolvedores da linguagem java preferiram evitar a
> herança múltipla. E o uso de interface vem como uma solução alternativa
> (pois não há aproveitamento de código) para manter a verificação de tipo no
> uso de polimorfismo.
> 
> abraços
> 
> Jorge
> 
> -----Original Message-----
> From: JEAN BARROS [mailto:[EMAIL PROTECTED]]
> Sent: segunda-feira, 12 de março de 2001 12:57
> To: [EMAIL PROTECTED]
> Subject: [java-list] Herança Múltipla
> 
> 
> Olá!
> 
> Java suporta apenas herança simples, e implementa interfaces! certo?
> Os defensores da herança simples em detrimento da herança múltipla,
> geralmente
> argumentam que herança múltipla tem o problema da ambigüidade, que é muito
> difícil de resolver! Gostaria de saber onde está o problema de resolver
> ambigüidades? Pois se for apenas no nome de métodos, não ficaria fácil
> resolver alterando os nomes? Ou essa minha análise é muito simplista, e o
> problema é bem maior? Me esclareçam por favor esta dúvida!
> 
> 
> OBS: Não sou expert em C/C++, apenas quero tirar esta dúvida!
> 
> Abraços
> Jean Fábio
> 
> 
> ____________________________________________________________________
> Get free email and a permanent address at http://www.netaddress.com/?N=1
> 
> ------------------------------ 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] 
> -------------------------------------------------------------------------
> 
> 


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