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 :

constructeur de class enfant


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2015
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2015
    Messages : 107
    Points : 23
    Points
    23
    Par défaut constructeur de class enfant
    bonjour j'ai un question pour l'héritage entre deux classes. je crée un classe parent "Contribuable" et un autre classe enfant utilisateur, puis je mis un constructeur pour le classe parent mais quand j'insère un constructeur au classe enfant il m'affiche cette erreur "Error 1 'contribuable' does not contain a constructor that takes 0 arguments contribuable.cs"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    public class utilisateur : contribuable
        {
            public utilisateur()
            {
            }
        }
       public class contribuable
        {
            public string MATRICULE_FISCALE, ADRESSE_PERSONEL, ADRESSE_SIEGE, E_MAIL, TYPE_CLIENT, ACTIVITE_PRINCIPALE,
                ACTIVITE_SECONDAIRE, REGISTRE_COMMERCIAL, BANQUE1, AGENCE1, RIB1, BANQUE2, AGENCE2, RIB2,  DATE_SAISIE,
                NOM_ENTREPRISE, Nom_Contribuable_Physique, Prenom_Contribuable_Physique, Nom_Contribuable_Forfaitaire,
                Prenom_Contribuable_Forfaitaire, NOM_GERANT, PRENOM_GERANT, ADRESS_PERSONNEL_GERANT, MAIL_GERANT;
            public int NUM_TEL1, NUM_TEL2, NUM_FAXE, NUM_MOBILE, NUM_TEL_GERANT, MOBILE_GERANT,CIN_GERANT;
     
            public contribuable(string _matricule_fiscale,int _num_tel1, int _num_tel2, int _num_faxe,int _num_mobile,string _adresse_personel,string _adresse_siege,string _e_mail,string _type_client,string _activite_principale,string _activite_secondaire,string _registre_commercial,string _banque1,string _agence1,string _rib1,string _banque2,string _agence2,string _rib2,int _cin,string _date_saisie)
            {
            this.MATRICULE_FISCALE    = _matricule_fiscale;
            this.NUM_TEL1             = _num_tel1;
            this.NUM_TEL2             = _num_tel2;
            this.NUM_FAXE             = _num_faxe;
            this.NUM_MOBILE           = _num_mobile;
            this.ADRESSE_PERSONEL     = _adresse_personel;
            this.ADRESSE_SIEGE        = _adresse_siege;
            this.E_MAIL               = _e_mail;
            this.TYPE_CLIENT          =_type_client;
            this.ACTIVITE_PRINCIPALE  =  _activite_principale;
            this.ACTIVITE_SECONDAIRE  =  _activite_secondaire;
            this.REGISTRE_COMMERCIAL  =  _registre_commercial;
            this.BANQUE1              = _banque1;
            this.AGENCE1              = _agence1;
            this.RIB1                 = _rib1;
            this.BANQUE2              = _banque2;
            this.AGENCE2              = _agence2;
            this.RIB2                 = _rib2;
            this.CIN_GERANT                  = _cin;
            this.DATE_SAISIE          = _date_saisie;
               }
    est - ce que le constructeur enfant ne peut pas créer sans un constructeur vide de calsse parent?

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    lorsque tu vas appelé ton constructeur d'utilisateur le constructeur de la classe Contribuable sera appelé automatiquement. Comme tu ne fais pas de référence direct à un constructeur en particulier de la classe mère il va tenter d'accéder à son constructeur "par défaut", sans paramètre. Hors tu ne l'as pas défini. En gros déclare un constructeur vide à Constribuable et tu n'auras plus le souci. On se rend alors compte que le message d'erreur est somme toute assez explicite.

    Bon dev.
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Salut,

    lorsque tu vas appelé ton constructeur d'utilisateur le constructeur de la classe Contribuable sera appelé automatiquement. Comme tu ne fais pas de référence direct à un constructeur en particulier de la classe mère il va tenter d'accéder à son constructeur "par défaut", sans paramètre. Hors tu ne l'as pas défini. En gros déclare un constructeur vide à Constribuable et tu n'auras plus le souci. On se rend alors compte que le message d'erreur est somme toute assez explicite.

    Bon dev.
    C'est exactement ça. En fait le constructeur vide est disponible par défaut si ta classe ne contient aucun autre constructeur. A partir du moment où tu déclares un nouveau constructeur dans ta classe (comme c'est ton cas), le constructeur vide est "désactivé" et tu devras le déclarer à la main dans ta classe pour pouvoir continuer de l'utiliser.
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

Discussions similaires

  1. Réponses: 10
    Dernier message: 18/03/2010, 17h40
  2. Réponses: 3
    Dernier message: 27/04/2007, 14h51
  3. Réponses: 3
    Dernier message: 02/05/2006, 08h07
  4. [POO] Constructeur de classe
    Par cescu dans le forum Langage
    Réponses: 7
    Dernier message: 14/02/2006, 21h50
  5. Réponses: 7
    Dernier message: 15/07/2005, 15h07

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