[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Java et heritage multiple [was: Re: [HS sur java] Comment voir plus rapidement les nouveaux prg dans SID ? ]



On Thu, Aug 14, 2003 at 04:22:10PM +0200, Arnaud Vandyck wrote:
> On 14 Aug 2003 15:55:50 +0200
> Nicolas Rueff <n.rueff@tuxfamily.org> 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



Reply to: