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 :

Problème d'héritage + singleton


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Par défaut Problème d'héritage + singleton
    Bonjour,

    Je voudrais créé un pattern singleton. En plus, je voudrais que ma classe soit hérité d'une classe parente.
    Mais mon code ne fonctionne pas. Et je ne comprend pas l'erreur :/
    (Pour info, le constructeur parent requiert un paramètre).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class  MyEnfant : Parent
    {
      private static string id = null;
      private static Parent parent = null;
      protected static MyEnfant instance;
     
      public static MyEnfant(string id)
     {
        if(instance == null)
           new Parent(id);
     }
    J'obtiens sur la 1ere ligne ("class MyEnfant : Parent")
    Erreur 2 'Parent' ne contient pas un constructeur qui accepte des arguments '0'
    Pour hériter d'une classe on fait bien "class A : B " ?! Je ne vois pas mon problème

    Merci pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Par défaut
    note : le simple code me renvoie la même erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class MyEnfant : Parent
    {
    }

  3. #3
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Entre ça
    Citation Envoyé par jeremm
    Pour info, le constructeur parent requiert un paramètre
    et ceci
    Erreur 2 'Parent' ne contient pas un constructeur qui accepte des arguments '0'
    Le problème est sans équivoque il me semble

    Si tu ne spécifies pas quel constructeur de la classe de base il faut utiliser, c'est toujours celui sans argument qui est appelé. Et s'il n'existe pas ou bien que tu as ajouté un constructeur avec argument, ce qui supprime alors la création implicite d'un constructeur sans argument, tu te retrouves avec ce genre d'erreur.

    Prend connaissance du cours C# du site au besoin

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Par défaut
    c'est toujours celui sans argument qui est appelé.
    ok !
    En revanche il n'existe qu'un seul constructeur dans cette classe.
    Je trouve donc surprenant qu'il ne prenne pas celui-ci par défaut..

    Si tu ne spécifies pas quel constructeur de la classe de base il faut utiliser
    Comment lui spécifier ?

  5. #5
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par jeremm
    Comment lui spécifier ?
    Comme je l'ai dit, prend connaissance du cours C# du site au besoin. Google est bien sympa aussi.

    Il faut faire l'effort de chercher, surtout pour quelque chose d'aussi basique

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 310
    Par défaut
    J'ai cherché mais les mot clés pour trouver sur google ne sont pas évident pour mon cas.

    J'ai donc utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //constructor
    public MyEnfant(string id) : base(id)
    {
      Parent p = new Parent(id);
    }
    Je vais maintenant tenté d'en faire un pattern singleton..

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

Discussions similaires

  1. [C#] Problème d'héritage, aide svp :(
    Par choas dans le forum Windows Forms
    Réponses: 12
    Dernier message: 06/05/2006, 11h46
  2. problème constructeur + héritage
    Par BOLARD dans le forum C++
    Réponses: 10
    Dernier message: 13/04/2006, 08h11
  3. [AS2] Problème d'héritage
    Par wwave dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 27/01/2006, 09h26
  4. Problème d'héritage ?
    Par Romanops dans le forum WinDev
    Réponses: 2
    Dernier message: 16/11/2005, 17h18
  5. Problème d'héritage d'une méthode protégée
    Par shenron666 dans le forum C++
    Réponses: 9
    Dernier message: 28/04/2005, 23h17

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