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

Langage Java Discussion :

super() avec moins de variables que la superclasse


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 27
    Points : 11
    Points
    11
    Par défaut super() avec moins de variables que la superclasse
    Bonjour,

    j'ai une superclasse avec un constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public ConstructeurSuperClass(int a, String[] type){
    ....}
    et une classe dérivant de ce constructeur où type est identique pour tout objet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public ConstructeurClassDeriv(int a){
    super(a, {"ours", "lapin"});
    }
    Apparemment, je ne peux pas mettre une liste dans super. Pourriez-vous m'aider ? Mais si je mets un entier fixe pour a, aucun problème à la compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public ConstructeurClassDeriv(String[] type){
    super(3, type);
    }
    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Points : 675
    Points
    675
    Par défaut
    Citation Envoyé par HighSchool2005
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public ConstructeurClassDeriv(int a){
    super(a, {"ours", "lapin"});
    }
    Essaie ca plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public ConstructeurClassDeriv(int a){
    super(a, new String[]{"ours", "lapin"});
    }

  3. #3
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public ConstructeurClassDeriv(int a)
    {
    String[] animaux = new String[]{"ours", "lapin"};
    super(a, animaux);
    }
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  4. #4
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    ou alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public ConstructeurSuperClass(int a, String... types){ ....}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public ConstructeurClassDeriv(int a) { super(a, "ours", "lapin"); }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    Citation Envoyé par Mister Nono
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public ConstructeurClassDeriv(int a)
    {
    String[] animaux = new String[]{"ours", "lapin"};
    super(a, animaux);
    }
    Attention quand même, ceci ne marcherait pas car l'appel à super() doit être la première instruction dans le constructeur.
    SCJP 5 / SCBCD 1.3 Certified

  6. #6
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Citation Envoyé par manblaizo
    Attention quand même, ceci ne marcherait pas car l'appel à super() doit être la première instruction dans le constructeur.
    Exact.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/07/2013, 16h06
  2. Fonction Execlp avec nombre parametres variable
    Par laurent_ifips dans le forum C
    Réponses: 3
    Dernier message: 25/11/2005, 20h14
  3. Réponses: 4
    Dernier message: 10/11/2005, 11h45
  4. [Tableaux] Appeler une variable que si non NULL
    Par GarGamel55 dans le forum Langage
    Réponses: 6
    Dernier message: 08/10/2005, 14h07
  5. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08

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