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

Re: HS: C++



>>>>> "Sylvain" == Sylvain Sauvage <Sylvain.Sauvage@metanoesis.net> writes:

  Sylvain> Wed, 3 Nov 2004 20:26:16 +0100, Gabriel Paubert a écrit :
  >> [...]  Hériter d'une classe existante semble plus propre mais il
  >> faut vraiment en voir le coût, composer est nettement moins cher
  >> en terme de taille de l'exécutable et pas franchement pire dans
  >> ce cas.

  Sylvain> Le choix entre héritage et délégation n'est pas souvent une
  Sylvain> question de « propreté », c'est plus souvent une question
  Sylvain> de choix, surtout en C++.

C'est formidable ce que tu viens de dire, en résumant un peu ça
devient "le choix c'est une question de choix" ;-)

Ceci-dit, je pense que choisir entre héritage et délégation c'est un
question de propreté, mais ça ne veux pas dire qu'hériter est toujours
plus propre. Dans le cas qu inous intéresse (hériter de la classe
Window de gtkmm pour la fenêtre d'une appli), je pense qu'il est plus
propre de déléguer. L'héritage expose l'implémentation (l'utilisation
de gtk) alors qu'en ayant un attribut Window, tu peux le laisser privé
et donc encapsuler.

  >> C'était mon premier projet en C++, il se pourrait bien que ce
  >> soit le dernier.

  Sylvain> C'est le problème de C++ : il faut maîtriser la façon dont
  Sylvain> va être interprété le code pour programmer correctement. 

Je pense que c'est valable pour n'importe quel langage. 

  Sylvain> En clair, il faut savoir comment fonctionnent les tables
  Sylvain> virtuelles, les destructeurs, la gestion de la mémoire,
  Sylvain> etc., etc.  C'est un langage puissant {et,mais} plein de
  Sylvain> finesses...

  Sylvain> -- Sylvain Sauvage



-- 
Laurent Martelli
laurent@aopsys.com                                Java Aspect Components
http://www.aopsys.com/                          http://jac.objectweb.org



Reply to: