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 :

[Débutant] Méthode super()


Sujet :

Langage Java

  1. #1
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 24
    Par défaut [Débutant] Méthode super()
    Salut !

    Voilà c'est une question au sujet de la méthode super().
    J'ai une classe A, et une classe B extends A
    J'ai remarqué qu'il fallait que j'appelle super() en tout premier dans le constructeur de B, avant toute instruction, meme un petit if.

    Mais j'aimerais que mon super(boolean b) donne au constructeur de A true ou false suivant des test de if

    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
    public class A
    {
       public boolean bool;
       public int variable;
     
       public A(boolean b)
       {
            bool = b;
       }
     
       public void modifV()
       {
        // Ici j'ai qq méthodes qui modif des variables de A suivant la valeur de bool
       }
    }
     
    public class B extends A
    {
       public B(int num)
       {
           if (num==1)
           {
                 super(true);
                 // qq instructions
           }
           else if (num==2)
           {
                 super(false);
                 // qq instructions
           }
            // encore qq if
       }
     
    }
    là j'ai aucune idée de comment faire, à moins de recopier comme un bourrin tout A dans B pour ne pas avoir à utiliser super, mais il doit y avoir une meilleure solution

    Merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    Par défaut
    Bonjour,
    tu as deux possibilité :
    1) tu crées une methode dans A qui change la variable bool
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void changerBoolean(boolean b) {
       bool=b;
    }
    Dans B tu fais appelle à cette methode au lieu de mettre super.

    2) B est une extension de A, donc B a acces aux variable de A. Au lieu de mettre super(true ou false), tu mets bool=true ou false;

    @+

  3. #3
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 24
    Par défaut
    tu es un génie merci

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par lefaiseur
    2) B est une extension de A, donc B a acces aux variable de A. Au lieu de mettre super(true ou false), tu mets bool=true ou false;
    mouais pas terrible comme solution... tu oublie que bool est un champ, et un champ, en théorie, ça doit rester private, donc inaccessible pour les descendants (pour autant que ça ne soit ni static ni final)...

    il vaut mieux passer par des getters / setters

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

Discussions similaires

  1. [Débutant] Méthode de Newton
    Par foujeu dans le forum MATLAB
    Réponses: 18
    Dernier message: 20/12/2006, 11h09
  2. [Débutant] Méthodes de sérialisation
    Par Michel Hubert dans le forum VC++ .NET
    Réponses: 37
    Dernier message: 20/12/2006, 09h08
  3. [EJB] [débutant] [Méthode]EJB et présentation web
    Par Eric Berger dans le forum Java EE
    Réponses: 6
    Dernier message: 03/08/2006, 23h42
  4. [algoritmique][débutant]Méthode récursive
    Par lejimi dans le forum Langage
    Réponses: 7
    Dernier message: 16/01/2006, 19h54
  5. Réponses: 2
    Dernier message: 05/01/2006, 14h17

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