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 :

passage des variables d'une classe à une autre


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 65
    Points : 45
    Points
    45
    Par défaut passage des variables d'une classe à une autre
    Bonjour, je viens poster après avoir effectuer plusieurs recherche mais sans résultat.

    Mon problème est le suivant (si je devais le modéliser)
    J'ai une ClasseA qui contient une variable a = 12.
    Je voudrai dans ma ClasseB récupérer cette variable avec sa valeur.

    En effet quand je fais dans ma classeB
    ClasseA ca = new ClasseA();
    System.out.println(ca.a);

    on peut s'apercevoir que la valeur est null... Comment pallier à ce problème....

    Merci d'avance pour vos réponses

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Points : 475
    Points
    475
    Par défaut
    Bonjour,

    Il faudrait que tu nous montres le code utile des 2 classes...

    Nicolas

  3. #3
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Parce que quand tu fais
    new ClasseA();
    le constructeur de ta classe ne donne aucune valeur, il te faut l ecrire dans ton constructeur;
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class ClasseA{
      public int a;
      public ClasseA(){
        a=2;
      }
    }

  4. #4
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Et attention, il faut pas confondre variable et propriete d une classe aussi.

    Une variable declaree dans une methode de ta classe est toujours locale;

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 76
    Points : 80
    Points
    80
    Par défaut
    où est instancié l'objet A ? où est instancié l'objet B ?

    si c'est l'objet A qui instancie un objet de la classe B, il te suffit de prévoir le constructeur de B avec paramètre

    B cb=new B(a);

    et ton constructeur :

    B(variable a) {

    this.variable a=a;

    ....

    }


    si A et B sont instanciés dans un autre objet, il te suffit de prévoir dans la classe A un méthode publique getvariable a () qui te retourne la variable, de l'appeler dans une méthode de l'objet d'origine, et ensuite d'instancier l'objet B avec la variable récupérée que tu passeras en paramètre du constructeur de B.


    tu as aussi la possibilité de mettre dans le constructeur de B comme paramètre de transmission l'objet qui l'instancie par un
    B cb=new B(this);

    avec dans le constructeur de B :

    B(objet plouf) {
    this.plouf=plouf;

    }

    et ensuite B n'a plus qu'à récupérer les champs voulus de l'objet plouf, soit par des champs publiques, soit par une méthode publique (préférence pour cette méthode).

    bref, ça dépend de ton code, de l'agorithme d'instanciation de tes objets, mais en gros il y a plusieurs solutions possibles, ça dépend de l'utilisation que tu veux en faire, si tu veux le faire de façon récurrente ou pas, si tu tiens à ta mémoire ou pas, etc ..

Discussions similaires

  1. Ajouter une classe à une classe
    Par benooo dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 05/02/2014, 18h22
  2. probléme concernant le passage des variable d'une page web à une autre
    Par aefmaaradji dans le forum Développement Web avec .NET
    Réponses: 1
    Dernier message: 13/08/2010, 19h27
  3. Réponses: 1
    Dernier message: 03/04/2007, 12h02
  4. passage des variables d'une page a la autre .
    Par free01 dans le forum Langage
    Réponses: 4
    Dernier message: 28/06/2006, 14h25
  5. Passage de paramètre d'une classe à une autre
    Par semenzato dans le forum C++
    Réponses: 3
    Dernier message: 21/09/2005, 13h59

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