none
constructeur de class enfant RRS feed

  • Question

  • 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"

    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?


    • Modifié Ammar.Dev lundi 30 novembre 2015 08:09
    lundi 30 novembre 2015 07:57

Réponses

  • Bonjour,

    Une classe enfant appel toujours un constructeur de la classe parente. Dans votre cas, comme vous ne spécifiez rien, le compilateur cherche un constructeur sans argument, comme il n'existe pas vous avez une erreur.

    Dans votre cas, si vous avez besoin d'une classe enfant avec un constructeur vide:

    Soit vous ajoutez un constructeur sans arguments à votre classe parente. Et le constructeur vide enfant appellera le constructeur vide du parent.

    Soit votre classe enfant appel le constructeur parent avec des valeurs par défaut

    public class utilisateur : contribuable
    {
      public utilisateur() 
       : base("", 0,0, ...)
      {
      }
    }
    

    La syntaxe "base()" appelle le constructeur parent.

    Cordialement,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    lundi 30 novembre 2015 08:19