Variable "globale"

tominfo Messages postés 93 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 30 janvier 2009 - 21 mai 2004 à 00:28
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 - 21 mai 2004 à 19:07
Salut à tous!

Petite question :
J'aimerais savoir s'il existe un moyen de définir une variable "globale" utilisable librement dans toute les classes d'un programme. Par exemple, j'aimerais avoir un booleen "debug" qui indiquerait que le programme tourne en mode debuggage. Pour simplifier, j'aimerais que cette variable soit lisible directement dans chaque classe sans que j'ai quoi que ce soit à faire.

Merci!

6 réponses

cs_Stark Messages postés 37 Date d'inscription dimanche 25 août 2002 Statut Membre Dernière intervention 15 octobre 2006
21 mai 2004 à 00:48
J'ai déjà eu ce genre de problème... Mais la seul solutions que j'ai trouvé est de passer, à chaque fois que tu appelles une autre class, le paramêtre this et de le récupérer dans ta class comme ceci :

Appel : NewSearch FrameSearch = new NewSearch(this,"Recherche",true) ;

Récupération : public NewSearch(NomDeLaClassSourceFrameDvd, String Titre, boolean Modal)

Ensuite, à l'aide de ta nouvelle frame, dans l'exemple FrameDvd, tu récupères ta variable de la manière suivante :

NomDeLaClassSource.TonBoolean = .....

Et là ça fonctionne.

Je serais curieux de connaître une autre méthode pour le faire mais je crois qu'il n'en existe pas...
0
tominfo Messages postés 93 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 30 janvier 2009
21 mai 2004 à 01:22
J'y ai déjà pensé mais c'est justement pour éviter ça que je cherche une autre solution.
Je peux aussi utiliser le System.Properties et faire un put de ce que je veux mais il faudrait que je fasse un Properties.get à chaque fois... Ou je peux aussi utiliser une classe avec une variable static mais il faudrait qu'à chaque fois je créer une nouvelle instance de la classe pour récuperer ma valeur...
Je préfèrerais utiliser directement une variable... genre une "super variable public"
0
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
21 mai 2004 à 10:26
Bah moi je partage une variable dans toutes mes classes en faisant un static.... C'est pas ce que tu cherches ?
Par exemple, je veux voir dans toutes mes classes la variable de type entier MaVar, je fais :

public static int MaVar = 4;

Et voila. J'y accède de partout

<-- St@iLeR -->
0
tominfo Messages postés 93 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 30 janvier 2009
21 mai 2004 à 10:48
Mouaih... C'est sûr que ça marche...
Y'a peut-être un moyen de faire plus "propre"?
Si je ne trouve rien d'autre je ferais comme ça!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
21 mai 2004 à 18:51
mais avec static c'est pas toutes les classes de ton prgm qui vont partager la variable; ce sont les instances (objets) d'une même classe qui partageront la var satic.
0
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
21 mai 2004 à 19:07
Ah ben non...

A l'heure actuelle je fais mon premier logiciel Java. Mon package s'appelle xl_release.
Dans ma classe XML_lecture j'ai un public int total_element.

Et ben dans une de mes autres classes xl_application ou xl_editeur, je peux tout à fait récupérer et utiliser ma variable en faisant :

XML_lecture.total_element

ou alors xl_release.XML_lecture.total_element

vala

<-- St@iLeR -->
0
Rejoignez-nous