Variable de type public

genjouna Messages postés 22 Date d'inscription samedi 1 mai 2010 Statut Membre Dernière intervention 17 mars 2011 - 2 août 2010 à 12:25
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 9 août 2010 à 13:34
slt;
est ce que je peux déclarer une variable de type public pour que je puisse accéder a sa valeur dans n'importe quels classe???

merci

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 août 2010 à 12:43
Salut,

Bien sûr que tu peux, mais ce n'est pas du tout recommander : il vaut mieux passer par un getter/setter public, ainsi il est plus facile de contrôler qui y accède.

Après, si tu veux faire une variable globale (accessible partout sans passer par une instance de classe), il te faut en plus la mettre en static.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
genjouna Messages postés 22 Date d'inscription samedi 1 mai 2010 Statut Membre Dernière intervention 17 mars 2011
2 août 2010 à 14:21
comment la mettre en static????
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 août 2010 à 14:48
Salut,

Tu rajoute le mot clé static dans sa déclaration, ce qui donne :

protected static String taVariable;

public static void setTaVariable(String taVariable) {
  this.taVariable = taVariable;
}

public static String getTaVariable() {
  return this.taVariable;
}



Par contre, comme je te l'ai dit : c'est assez moche de faire des variables globales : a utiliser qu'en dernier recours !
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
genjouna Messages postés 22 Date d'inscription samedi 1 mai 2010 Statut Membre Dernière intervention 17 mars 2011
5 août 2010 à 16:42
comment je peux faire des variables globales ???
je veux la méthode moche svp.
merci
0

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

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 août 2010 à 16:57
Salut,

Ben je t'ai donné le code...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
genjouna Messages postés 22 Date d'inscription samedi 1 mai 2010 Statut Membre Dernière intervention 17 mars 2011
9 août 2010 à 13:00
j'ai fait ce que vous m'avez proposé mais il y a toujours un erreur
class LaDate {
protected String date;

public LaDate() {
date= "";

}

public String getDate() {
return date;
}

public void setDate(String date) {
this.date = date;
}
}
et puis j'ai écrit dans la classe principale
LaDate d=new LaDate();
d.setDate(date);
sauver sauv=new sauver();

et j'ai écrit dans la classe sauver
LaDate d=new LaDate();

String requete="SELECT bd2.prenom, bd2.date, bd2.[heure debut], bd2.[heure fin] FROM bd2 WHERE (((bd2.date)=#"+d.getDate()+"#));";

mais d.getDate() ne retourne pas une valeur
svp aidez moi.
et merci.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 août 2010 à 13:34
Salut,

Forcément puisque tu ne travaille pas avec la même instance.

Soit tu passe par une variable statique (avec getter/setter static) qui sera donc partagée par toutes les instances de la classe (c'est le plus moche, mais apparemment tu cherches pas à faire de la qualité et c'est le moyen de faire une variable globale).

Soit tu travaille avec la même instance de classe, il te faut donc avoir accès à l'instance qui a initaliser la date à l'endroit où tu l'utilises, et non plus faire un new.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous