On Thu, Feb 10, 2005 at 10:11:21PM +0100, Frédéric wrote:
> On Jeudi 10 Février 2005 22:01, Miguel Moquillon wrote:
> Quel est le problème de C++ avec l'héritage multiple ?
Déjà, C++ gère plusieurs types d'héritages :
public, private, protected et même virtual (public, protected et
private), pour reprendre les expréssions C++ : super, non ?
Quant tu as des caractéristiques qui malheureusement ont même nom entre
deux classes, c'est le bordel et tu as intérêt à utiliser un héritage
'virtual' en ordonnant bien la déclaraction des classes héritées ... je
te passe d'autres contorsions pour arriver à quelque chose de potables
si on est pas très exigeant, et des contorsions pas du tout souple.
> Et le plus de
> Eiffel ? Je crois d'ailleurs qu'Eiffel est une référence en matière de
> propreté de langage objet, non ?
Eiffel est en effet réputée pour la clareté de sa syntaxe, sa rigueur et
la robustesse des applis qu'il permet de construire. A côté de ceci, par
le support des classes génériques et de la covariance (des paramètres et
des types de retour) il apporte une certaine souplesse dans l'écriture
de code que je n'ai encore jamais rencontré dans les langages à typage
statique et fort.
Quant à son héritage, tu peux lors de sa déclaration, renommer des
caractéristiques héritées ou sélectionner celles qui tu désires dans ta
classe fille. Exemple :
class TOTO
inherit
TATA
select foo
rename boo as tata_boo
end
TITI
rename boo as titi_boo
end
creation make, from
feature
...
boo is
do
if machin then
tata_bobo
else
titi_boo
end
do_something
end
end
ha, et Eiffel supporte aussi l'héritage répétée.
--
Miguel Moquillon <miguel.moquillon@???>
jabber://moqui@???
http://miguel.moquillon.free.fr