Euh ... méthodes/attributs de 2 classes

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 - 7 mai 2004 à 13:07
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 - 8 mai 2004 à 12:19
Bonjour à tous,

j'ai une question bête (car je sais que j'ai déjà fait mais je ne me souviens plus comment) :

J'ai 2 classes A et B, dans A je crée une instance de B.
Comment, à partir de B, puis-je agir sur les attributs de A ?

Exemple :

une classe A toute bête :
public class A{
public A(){super();}
private int n;
public void setN(int n){this.n=n;}
public void main(String[] args){
A a = new A();
B b = new B();
b.changeN(5);
}
}


La classe B qui voudrait changer un attribut de A :
public class B{
public B(){super();}
public void changeN(int n){
//Là je ne sais pas comment je dois faire !!!
setN(n);
}
}


En plus clair, j'ai fait un jeu (d'abord en mode console), et là j'ai créé l'interface graphique.
Et lorsque je clique sur un bouton, je souhaiterais que ça exécute ma méthode de ma classe de jeu de départ (et que celle ci modifie le contenu d'un JTextField=.

Donc je pense que j'essaye de faire n'importe quoi mais je suis complètement perdue là ... j'ai sans doute du mal m'y prendre donc si quelqu'un pouvait m'aider ... d'avance merci :)

Fanny

2 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 mai 2004 à 14:42
Salut,

simple dans le constructeur de B tu passes l'instance de A que tu manipules

public class B{
private A a;
public B(A a){
this.a=a;
}
public void changeN(int n){
//Là tu fais ce que tu dois faire
setN(n);
}
}

public class A{
public A(){super();}
private int n;
public void setN(int n){this.n=n;}
public void main(String[] args){
A a = new A();
B b = new B(a);
b.changeN(5);
}
}

0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
8 mai 2004 à 12:19
Merci Kirua :) ,

je m'en suis souvenu après avoir écrit le message et ça fonctionne ... (enfin pas tout).

Fanny
0
Rejoignez-nous