variables statiques - Java - Programmation
Marsh Posté le 24-03-2003 à 02:13:08
ReplyMarsh Posté le 24-03-2003 à 02:18:40
ben la, en l'occurence, le truc doit stocker un login et un mot de passe pour un acces JDBC... ca me parait ridicule non ?
Marsh Posté le 24-03-2003 à 02:23:59
ben ça depend ce que c'est ce "truc", justement
Marsh Posté le 24-03-2003 à 02:28:55
J'ai pas encore tres bien compris son systeme, mais il m'a fait une classe Login avec deux variables public static USER_ID et USER_PSWD, et ces deux variables sont celles utilisees pour s'identifier a la base de donnees. Sachant que tout est public, ca me parait limite...
Je me mefie d'autant plus que c'est le genre de mec qui m'a deja fait un truc comme suit:
int i=0;
i++;
while(true){
<appel d'une methode>;
i++;
break;
}
plutot tordu quoi...
Marsh Posté le 24-03-2003 à 02:31:47
ben le bout de code c'est pas tordu, ça boucle a l'infini stout
et pour ton machin de login, bah si le user et le pass sont ceux utilisés pour se connecter à la db, pq pas (bien que ça n'ait rien a foutre dans le code mais bon c'est une autre histoire). Si c'est des variables auquel tu assignes une valeur par une methode quelconque ben euh ouais y'a comme un probleme
Marsh Posté le 24-03-2003 à 02:33:56
non, c'est une boucle infinie qui appelle une methode et fait un break :-p
sinon, je vois mal l'interet d'une variable statique... une constante je veux bien, mais une variable statique initialisee dans le constructeur... chaipa, ca me parait bancal... bon, pas grave, je vais le laisser bidouiller )
merci bien
Marsh Posté le 24-03-2003 à 02:38:48
souk a écrit : non, c'est une boucle infinie qui appelle une methode et fait un break :-p |
euh ha vi j'avais pas vu le break
souk a écrit : sinon, je vois mal l'interet d'une variable statique... une constante je veux bien, mais une variable statique initialisee dans le constructeur... chaipa, ca me parait bancal... bon, pas grave, je vais le laisser bidouiller ) |
euh ouais effectivement.
mais c'est pas que c'est une "connerie", c'est que c'est simplement pas comme ça qu'il doit faire... là s'il veut se logger sur 2 bases differentes, bah la 1e fois ça marchera, et la 2e fois ... aussi (je suppose, sans voir comment il fait), sauf que la 1e instance de "Login" sera completement foireuse que les instances de USER et PASS auront été modifiées par la 2e instance Login...
Marsh Posté le 24-03-2003 à 02:41:42
clair, je vais lui expliquer avec ton exemple des 2 bases, merci bien pour ces reponses a cette heure tardive
Marsh Posté le 24-03-2003 à 02:42:46
ben ouais faudrait betement revoir c'est que "static" implique quoi
Marsh Posté le 24-03-2003 à 02:50:35
ben a priori, dans notre cas, ca pose pas trop de probleme, mais je pense pas que ce soit une bonne habitude a prendre
ca peut poser des problemes quand y a des acces concurrentiels sur une meme JVM tout ca...
Surtout au niveau conception, une variable statique c'est une variable qui est propre a la classe, dans notre cas, les variables sont propres a une instance... c'est pas tout a fait pareil, meme si, ici, ca revient au meme
Marsh Posté le 24-03-2003 à 03:07:32
ReplyMarsh Posté le 24-03-2003 à 07:37:22
souk a écrit : J'ai pas encore tres bien compris son systeme, mais il m'a fait une classe Login avec deux variables public static USER_ID et USER_PSWD, et ces deux variables sont celles utilisees pour s'identifier a la base de donnees. Sachant que tout est public, ca me parait limite... |
juste une question ca sert à quoi de faire une boucle avec un break a la fin? Genre tu remplace ca par appel de méthode et i++ et c'est pareil quoi
Marsh Posté le 24-03-2003 à 07:40:43
ben ouais c'est bien pour ca que j'emettais de serieux doutes quant a ses aptitudes en programmation...
et encore, le while(true) avec un break dedans, c'est pas le pire que j'ai vu ;-)
Marsh Posté le 24-03-2003 à 08:29:54
Merci Benou, enfin la reponse que j'attendais
ca va poutrer !
Marsh Posté le 24-03-2003 à 09:47:02
Citation : |
ça dépend comme qui dirait
faut pas généraliser. c'est mal dans ce cas ouais.
Marsh Posté le 24-03-2003 à 10:32:18
ouais des fois, ca peut etre pas mal, genre pour stocker des constantes d'une appli locale ... bon vous me direz qu'il y a les Properties, mais j'ai pas encore eu le courage de les utiliser
Marsh Posté le 24-03-2003 à 10:33:38
ou tout simplement pour stocker des valeurs qui sont partagées par toutes les instances
Marsh Posté le 24-03-2003 à 10:34:15
c'est clair que les constantes d'une classe peuvent etre static, c'est meme mieux ainsi, mais des variables statiques c'est moins sur non... enfin je sais pas, j'ai plus l'esprit clair ce soir...
Marsh Posté le 24-03-2003 à 10:48:37
souk a écrit : c'est clair que les constantes d'une classe peuvent etre static, c'est meme mieux ainsi, mais des variables statiques c'est moins sur non... enfin je sais pas, j'ai plus l'esprit clair ce soir... |
va te coucher !
Marsh Posté le 24-03-2003 à 10:52:18
moi dans tous les cas, j'essaye de virer tous les static que je peux !
Y a que pour les méthodes utilitaires ou les classes internes que je me l'accorde
Marsh Posté le 24-03-2003 à 10:54:51
benou a écrit : moi dans tous les cas, j'essaye de virer tous les static que je peux ! |
Ha oui c'est vrai, ces bonnes vieilles classes statiques
Marsh Posté le 24-03-2003 à 10:56:36
bobuse a écrit : |
depuis que j'ai découvert ca, j'arrête pas de les utiliser
Marsh Posté le 24-03-2003 à 02:03:00
juste pour vaoir votre avis, c'est pas bien les variables statiques en JAVA hein ?
(j'en suis presque sur, mais je voudrais votre avis avant d'essayer de convaincre un collegue