On Thu, Aug 14, 2003 at 04:22:10PM +0200, Arnaud Vandyck wrote: > On 14 Aug 2003 15:55:50 +0200 > Nicolas Rueff <[EMAIL PROTECTED]> wrote: > > > Je propose: h�ritage multiple, certes peu souvent utilis�, mais c'est > > difficile de s'en passer quand on en a vraiment besoin. > > Je ne suis pas dev C++ donc n'hesitez pas a me corriger, mais d'apres ce > que j'ai entendu, l'heritage multiple est plutot source de probleme que > de facilite. > > Maintenant, les interfaces reglent plus ou moins le probleme, et > surtout, on sait quelles seront les methodes qui seront utilisees! ;) > > Si tu veux que A herite de B ET C, tu crees une interface I (sachant que > C implemente I), A herite de B et implemente I, tu encapsule C dans A et > pour les methodes que tu dois surcharger, tu appelles les methodes de > ton instance de C ;)
Je m'�tais pourtant jur� de ne pas participer au thread... Tant pis. Oui, effectivement, �a marche, mais c'est chiant, car il faut �crire les appels de d�l�gation � la main. L� ou �a devient super lourd, c'est quand tu �cris, par exemple, un serveur CORBA. En effet, la classe qui va impl�menter l'interface d�finie en IDL doit �tendre un classe de base qui s'occupe du marshalling. Et si jamais on a une interface A qui d�rive d'une autre interface B, on ne peut pas faire de l'h�ritage d'impl�mentation de BImpl dans AImpl, car AImpl �tend _AImplBase, et il faut utiliser une approche par d�l�gation syst�matique. Ou �crire le serveur en C++. <add item='huile' dest='feu'> Moi, en g�n�ral, je l'�cris le serveur en python, comme �a j'ai les avantages de java et ceux de C++, sans en avoir les inconv�nients. :o) OmniOrbPy rulez ! </add> -- Alexandre Fayolle LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org D�veloppement logiciel avanc� - Intelligence Artificielle - Formations

