IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

heritage multiple


Sujet :

C++

  1. #1
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 299
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 299
    Billets dans le blog
    2
    Par d�faut heritage multiple
    Bonjour � tous,

    je n'aime pas utiliser l'h�ritage multiple. Je trouve que cela rend le code complexe et rend sa maintenance plus difficile. M�me du point de vue de l'architecture, je ne trouve pas que ce soit "�l�gant".

    Cependant, certains coll�gues m'assurent que dans certains cas, l'utilisation de l'h�ritage multiple est largement pr�f�rable � toute autre solution. Depuis, je ne cesse de me torturer les m�ninges, et je ne trouve aucun exemple pr�cis qui v�rifierait cela.

    Du coup, j'aurais bien aim� avoir votre avis sur la question:
    * A votre avis, l'h�ritage multiple (en c++ bien �videmment) est-il "une bonne chose"? Quels en sont les avantages?
    * Connaissez-vous des exemples concrets o� l'utilisation de l'h�ritage multiple est pr�f�rable � toute autre solution?

    Merci pour votre participation

  2. #2
    Expert confirm�
    Avatar de Swo�g
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par d�faut
    Est-ce une bonne chose ?
    Si c'est utilis� raisonnablement et de mani�re utile, oui

    Je pense que l� o� l'h�ritage multiple est vraiment n�cessaire, c'est surtout pour l'interfa�age...

    exemple, tu as deux classes ISerializable et ICloneable qui fournissent les interfaces pour S�rialiser (sauvegarder les donn�es d'un objet sous forme de chaine de caract�re) et Cloner un objet

    si tu dois cr�er une classe S�rialisable ET Clonable, alors l'h�ritage des deux interfaces et la meilleur solution (� mon sens...)

    (ok, j'ai repomp� un truc de C#, mais bon, c'est pour l'exemple hein )
    R�dacteur "�clectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les R�gles du Forum - Mon Site Web sur DVP.com (D�veloppement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne r�pondrai � aucune question technique via MP, MSN ou Skype : les Forums sont l� pour �a !!! Merci de me demander avant de m'ajouter � vos contacts sinon je bloque !
    pensez � la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    +1 pour les interfaces (COM, ou classes de base abstraites). Mais c'est de l'h�ritage fonctionnel, � la mani�re des interfaces Java. La sp�cificit� du C++ c'est l'h�ritage structurel multiple. Et moi aussi je trouve cette utilisation plus restreinte.
    Mais elle existe, et est justifi�e. Pour la "mise en commun" de biblioth�ques notamment. Typiquement, tu as un toolkit qui g�re les fen�tres etc... et une autre biblioth�que qui fait du rendu 3D. Elle affiche dans sa propre fen�tre 3D, toute seule.
    Comment int�grer cette fen�tre 3D dans ton appli 2D, d�velopp�e avec une autre lib ?
    L'h�ritage multiple est une solution �l�gante, car tu peux cr�er une seule classe qui se comporte � la fois comme une fen�tre du toolkit 2D et comme une fen�tre de rendu de la lib 3D. Sans cela, il faut cr�er une fen�tre 2D avec une fonction membre Get3DWindow() pour le rendu. C'est moins �l�gant...

  4. #4
    Membre �m�rite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par d�faut
    Citation Envoy� par r0d
    * Connaissez-vous des exemples concrets o� l'utilisation de l'h�ritage multiple est pr�f�rable � toute autre solution?
    Voir les design patterns (je pense notament � l' "adaptateur"). L'h�ritage multiple est indispensable � tout projet un peu complexe, et quand �a n'y est pas, c'est un handicap certain (java, vcl, par exemple).

  5. #5
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Ceci est un lien int�ressant sur le sujet (� lire)
    http://www.ddj.com/184402074

    Sinon, ils t'ont parl� de l'h�ritage d'interfaces. Je pourrais en rajouter une couche sur les contrats, le est-un VS le impl�ment�-en-termes-de. Mais l�, il est un peu trop tard pour aborder ces aspects OO non propres au C++.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  6. #6
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 299
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 299
    Billets dans le blog
    2
    Par d�faut
    Merci pour vos r�ponses

    Au fait, l'h�ritage multiple sera-t-il possible en c++0x ?

    [edit]Je suis en train de lire le lien, c'est, en effet, vraiment tr�s int�ressant. Merci pour ce lien[/edit]

  7. #7
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Il n'y a aucune raison que ce soit supprim�, tout le code �crit � ce jour doit rester compatible, donc �a restera.

Discussions similaires

  1. R�ponses: 28
    Dernier message: 12/07/2007, 13h28
  2. [C#] Heritage multiple -> comment faire autrement
    Par schnourf dans le forum Windows Forms
    R�ponses: 14
    Dernier message: 03/10/2006, 15h14
  3. [POO] Héritage multiple Parent
    Par djshaker dans le forum Langage
    R�ponses: 15
    Dernier message: 15/03/2006, 17h35
  4. R�ponses: 9
    Dernier message: 25/05/2005, 18h17
  5. [Kylix] heritage multiple et interfaces :(
    Par le_barbu dans le forum EDI
    R�ponses: 4
    Dernier message: 26/01/2004, 19h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo