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 :

Héritage multiple comment faire autrement [Débutant]


Sujet :

C#

  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut Héritage multiple comment faire autrement
    Bonjour,

    visiblement l'héritage multiple en C# n'existe pas. comment faire autrement ?

    J'ai une classe A et une classe B , j'aimerai avoir une classe C qui représente A et B ?

    Est ce possible ?

    Merci à vous

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Non c'est impossible
    Ce que tu peux faire c'est mettre dans une interface le comportement utile de la classe A ou B et implémenté celle-ci
    mais tu devras toi même réécrire le code des méthodes
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  3. #3
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    From MSDN:
    Comme Java, C# ne prend pas en charge l'héritage multiple, ce qui signifie que les classes ne peuvent pas hériter de plusieurs classes. Vous pouvez toutefois utiliser des interfaces dans ce but de la même manière qu'en Java.
    Quelques pistes donc:
    - Ce topic
    - Lien
    N'oubliez pas le tag et

  4. #4
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    Selon le cas il est possible également d'associer interface/méthode d'extension
    pour faire un développement orienté "comportement"

    - Soit A et B qui implémentent l'interface I
    - Des methodes d'extension pour I

  5. #5
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    Merci dommage ...

    Pour préciser , mes classes n'ont que des propriétés (set /get).

    J'ai une classe A avec des propriétés de base et une classe B avec des propriétés supplémentaires.

    J'ai besoin d'une classe C avec A et B donc j'ai plutôt intérêt à faire C avec une propriété représentant l’objet A et qui hérite de B.

    Et une classe A avec juste les propriétés de base.

    non ?

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Une autre solution c'est:
    C contient un A et un B
    Ou C dérive de A et contient un B

    avec des exemples concret il est plus facile de donner quelle est l'architecture la plus adapter

    Exemple : A = Véhicule , B = Moteur, C = Voiture
    Une voiture hérité de véhicule et posssede un moteur et implémenter l'interface IMotorisé
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  7. #7
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    merci à vous.

    je vais poursuivre le plus simplement possible en faisant juste hérite ma classe C de ma classe B.

    C aura un attribut du type ma classe B qui stockera les propriétés de B.

    cela reste assez simple par la suite à manipuler.

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Points : 674
    Points
    674
    Par défaut
    Je ne connais pas tes besoins exacts, mais lorsqu'il s'agit de rajouter de la donnée, il vaudrait mieux utiliser de la composition plutôt que de l'héritage... Ce que tu as fini par faire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/11/2011, 16h36
  2. comment faire autrement ? pb compatibilité
    Par tavarlindar dans le forum Requêtes
    Réponses: 4
    Dernier message: 26/04/2007, 09h38
  3. [C#] Heritage multiple -> comment faire autrement
    Par schnourf dans le forum Windows Forms
    Réponses: 14
    Dernier message: 03/10/2006, 15h14
  4. [PL/SQL] [9i] Comment faire autrement ?
    Par ftrifiro dans le forum Oracle
    Réponses: 4
    Dernier message: 23/03/2006, 14h36
  5. Script qui s'arrète !! Comment faire autrement ?
    Par Xplosif² dans le forum C++
    Réponses: 5
    Dernier message: 25/02/2006, 22h10

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