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


Répondre à