Thu, 04 Nov 2004 00:31:24 +0100, Laurent Martelli a �crit : > >>>>> "Sylvain" == Sylvain Sauvage <[EMAIL PROTECTED]> > >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" ;-)
Oups, me suis eu tout seul. Rempla�ons le second � choix � par � go�t �. > 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. D'accord sur ce point. Mais la propret�, c'est parfois subjectif aussi. > >> 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. Quand je dis ma�triser, je veux dire r�ellement ma�triser, pas seulement avoir une id�e de ce qui se passe. On peut tr�s bien programmer dans un langage comme Java, Python, Php, etc., sans se soucier de la fa�on dont sont stock�es en m�moire les fonctions et les structures. En C++, on doit faire attention � de nombreux d�tails (notamment la gestion des fonctions virtuelles, ou simplement la gestion des structures en m�moire) si l'on ne veut pas avoir de mauvaise surprise. Je ne dis pas que ce sont des complications inutiles du C++. Je dis simplement que le C++ n�cessite beaucoup de connaissances pour �tre utilisable correctement (c'est-�-dire gagner quelque chose � l'utiliser). Je dis aussi que si on n'a pas besoin des avantages du C++, autant ne pas subir ses inconv�nients (chacun pouvant percevoir avantages et inconv�nients de son point de vue). � mon avis, le C++ n'est pas un langage pour les d�butants (je n'ai jamais vu de cours de C++ pour d�butants qui traite vraiment le C++ et pas seulement un sous-ensemble restreint du C++). Je ne dis pas non plus � Gabriel � bien fait pour toi si tu t'en as chi�, le C++ �a se m�rite, t'es qu'un noob, tu seras jamais l33t... �. Au contraire, ce serait plut�t � Pers�v�re, il faut `juste' de l'exp�rience et tu en as d�j�. � -- Sylvain Sauvage

