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 :

C# Héritages "multiple"


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut C# Héritages "multiple"
    Bonjour,

    en java je pouvais faire :

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    interface A{
        abstract int get_A();
        abstract int get_B();
        int AplusB
        {
            return get_A()+get_B();
        }
    }
    c'est bien pratique car je peux faire hériter une classe de plusieurs interfaces et je n'ai pas chaque fois a réécrire la AplusB
    y a t'il une solution en C# ou Bill a t'il reussi a pomper java sans reprendre les trucs interessants ?

    Merci de votre aide

  2. #2
    Membre confirmé Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Par défaut
    salut,
    tu ne peux pas écrire de corps de méthode dans une interface, tu ferais mieux de passer par une classe abstraite, du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    abstract class A
    {
    public int A { get; protected set; } 
    public int B { get; protected set; } 
     
    public abstract int APlusB { return A+B; }
    }
    c'est juste une piste pour débuter

  3. #3
    Membre confirmé Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Par défaut
    et Bill à créer les PROPRIÉTÉS en C#, c'est bcp plus classe que d'avoir des get() partout

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par omcougar Voir le message
    en java je pouvais faire :

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    interface A{
        abstract int get_A();
        abstract int get_B();
        int AplusB
        {
            return get_A()+get_B();
        }
    }
    Hum... y a longtemps que j'ai pas fait du Java, mais ça m'étonnerait que tu puisses mettre un corps de méthode dans une interface
    (après vérification, je confirme : ce n'est pas possible)

    Citation Envoyé par omcougar Voir le message
    y a t'il une solution en C# ou Bill a t'il reussi a pomper java sans reprendre les trucs interessants ?
    Ben il a pas pu repomper ça, puisque ça n'existe pas
    D'ailleurs, bien que C# se soit inspiré de Java au départ, maintenant c'est plutôt Java qui s'inspire de C#


    Citation Envoyé par thelpi Voir le message
    et Bill à créer les PROPRIÉTÉS en C#, c'est bcp plus classe que d'avoir des get() partout
    Absolutely
    Sauf que Billou n'y est pour rien là-dedans, c'est plutôt Anders Hejlsberg...

  5. #5
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    salut,

    Si tu pouvais le faire en java, pourquoi tu le fais pas en java plutôt qu'en c#.
    Bill n'impose toujours pas le langage à utiliser... Chaque langage possède sa syntaxe, aussi proches que soient le java et le c#, ils ont néanmoins des différences.
    http://www.developpez.net/forums/d21...ire-autrement/

  6. #6
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut ha ouais
    autant pour moi c vrai que ce n'est pas possible en java non plus...
    bon sang j'etais persuadé d'avoir déja fait un truc comme ca. je dois me faire vieux

    R1 : si je le fais en C# et pas en Java c'est par ce qu'en ne m'en a pas donné le choix.
    R2 je ne peux pas le faire en abstract class car ma class hérite deja d'une autre classe abstraite et je ne peux pas les fusionner ni les faire hériter l'une de l'autre.
    R3 : pour ceux qui ne l'auraient pas compris, get_A, get_B et Get_A+Get_B c'est juste pour illustrer un principe, pas la peine de m'expliquer comment faire les get set

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