Accueil > Forum > > > > variable commune a toute les class
variable commune a toute les class
lundi 10 septembre 2007 à 10:34:33 |
variable commune a toute les class

chocobarbe
|
Bonjour à tous! Voici mon probleme : Je fais de la programmation en java, du graphique surtout. Ma fenetre principale est crée dans un fichier genre fenetre1.class, grace a elle, on peut acceder à une nouvelle fenetre qui est crée par un autre fichier( fenetre2.class) Dans fenetre2.class on effectué des saisies de valeurs et des calculs. jai donc un variable resultat. Il faut que dans ma fenetre1 j'affiche ce resultat ! Mais ou et comment déclarer cette variable ! En clair il me faut une variable globale à TOUTE les classes, et ca , j'ai beau chercher, j'ai pas trouvé ... La seule solution qui me semblerait possible est de crée les 2 fenetres dans le meme fichier, mais ca rendrait le code lourd. Des idées?? 
|
|
lundi 10 septembre 2007 à 10:40:06 |
Re : variable commune a toute les class

DARKSIDIOUS
|
Salut, Cela n'est pas possible directement, et encore heureux : c'est l'une des causes des bugs les plus chiant à debugger ! bien que ce soit possible de rendre une variable public à tout le projet à partir d'un nom de classe, je te déconseille vivement cette approche, cela va à l'encontre du modèle objet ! La solution consiste à soit : 1/ Créer une constantes statiques dans une classe si la variable n'est pas modifiée 2/ Créer des accesseurs à ta variables dans la classes qui la stocke (si chaque instance de la classe doit contenir une valeur différente). 3/ Créer une classe singleton avec ta variable et ses accesseurs (la solution la moins crade pour faire une variable globale à mon avis) 4/ Créer une variable static avec des accesseurs static dessus (simulation d'une variable globale, mais très crade !) ______________________________________ DarK Sidious
|
|
lundi 10 septembre 2007 à 10:53:02 |
Re : variable commune a toute les class

devwithjava
|
salut, la solution consiste a utiliser une variable static pour quelle soit commune a toutes les classes A+
|
|
lundi 10 septembre 2007 à 11:30:00 |
Re : variable commune a toute les class

chocobarbe
|
Et concretement j'ecris ca comment ? Static float resultat ?? => je le place ou dans ma fenetre1.class et/ou fenetre2.class ? La solution consiste à soit : 1/ Créer une constantes statiques dans une classe si la variable n'est pas modifiée ==> ma variable va être modifié de temps en temps 2/ Créer des accesseurs à ta variables dans la classes qui la stocke (si chaque instance de la classe doit contenir une valeur différente). ==> niveau vocabulaire java je suis pas tres fort ( " instance" ), je ne comprend donc pas cette solution 3/ Créer une classe singleton avec ta variable et ses accesseurs (la solution la moins crade pour faire une variable globale à mon avis) => comment faire? ( selon toi c'est le plus simple )
4/ Créer une variable static avec des accesseurs static dessus (simulation d'une variable globale, mais très crade !)
|
|
lundi 10 septembre 2007 à 11:36:22 |
Re : variable commune a toute les class

DARKSIDIOUS
|
Réponse acceptée !
Salut, Ben tout dépend de la solution que tu retiens.
Dans ton cas, je pense que la seconde est la meilleure :
Dans ta classe contenant la variable : private String TaVariable;
public void setTaVariable(String TaVariable) { this.taVariable = TaVariable; }
public String getTaVariable() { return TaVariable; } ______________________________________ DarK Sidious
|
|
lundi 10 septembre 2007 à 13:01:20 |
Re : variable commune a toute les class

chocobarbe
|
Dit comme ca, ca parait assez simple.
Dit moi voir si je procede bien :
Dans ma fenetre2.class, j'ajoute ton code
public class fenetre2{ private String TaVariable;
Tavariable = truc + machin;
public void setTaVariable(String TaVariable) { this.taVariable = TaVariable; // ya pas une faute la ? taVariable=>TaVariable }
public String getTaVariable() { return TaVariable; }
}
Mais pour ma fenetre principale ( fenetre1.class ), lorsque je vais ecrire à un endroit "Tavariable", va t'elle la reconnaitre, faut il la déclarer? si oui comment car jai peur que chaque "Tavariable" ne devienne utilisable que dans sa class respectives.
(Oui je sais ya beaucoup de question et je vous remercie de suivre l'affaire)
|
|
lundi 10 septembre 2007 à 13:55:56 |
Re : variable commune a toute les class

DARKSIDIOUS
|
Réponse acceptée !
Salut, Bien entendu le "TaVariable" doit être modifié par le nom de ta variable, et pour le "taVariable", y'a bien une faute de frappe, faut lire : "this.TaVariable"
Par contre, pour accèder à la variable en question à partir de ta fenêtre 1, il ne suffit pas de taper le nom de la variable (comme ca serait le cas pour une variable globale), il faut passer par une instance de ta 2ème classe :
ici en l'occurence, tu dois avoir une déclaration du type : Fenetre2 fenetre = new Fenetre2();
Et bien il te faut utiliser l'objet fenetre pour accèder à ta variable : fenetre.setTaVariable("toto"); System.out.println(fenetre.getTaVariable()); ______________________________________ DarK Sidious
|
|
lundi 10 septembre 2007 à 14:34:07 |
Re : variable commune a toute les class

chocobarbe
|
Et bin vivement que j'rentre chez moi pour tester ca NONDIDIOU !!! et bien sur je te tiendrait au courant de la reussite ( ou non ) de cette procedure Merci d'avance ! 
|
|
lundi 10 septembre 2007 à 15:26:42 |
Re : variable commune a toute les class

DARKSIDIOUS
|
Salut, En tout cas, c'est l'approche classique : une variable privée dont on rend accessible à l'extérieur par des getters/setters, cela permet de plus facilement débugguer une application. ______________________________________ DarK Sidious
|
|
mardi 11 septembre 2007 à 09:09:03 |
Re : variable commune a toute les class

chocobarbe
|
bon ba ca marche, merci pout tout et surtout pour la réactivité de ce forum !
|
|
Cette discussion est classée dans : fichier, variable, class, crée, commune
Répondre à ce message
Sujets en rapport avec ce message
fichier de variable [ par lolofx ]
salut,voila, g des variable que je rappelle dans toutes mes classes, et je voudrais les mettredans un fichier, afin de pas recompiler toutes les clas
Fichier .class [ par MarcRaptor ]
Bonjour à toutes et tous,je suis nouveau et ai besoin de votre aide !J'ai recu par mail un fichier ".class" et je voulais savoir avec quoi je pourrai
execution d'un applet [ par sophie1066 ]
bonjour tout le monde, j'ai un petit probleme en ce qui concerne mon applet. elle fonctionne sous AppletViewer, parfait jusque la. seulement lorsque j
Noob JAVA [ par jeuneprog ]
Bonjour à tous, J'ai compiler avec javac mon fichier : class Bienvenue { public static void main (java.lang.String [] args) { javax.swing.JOptionPane.
problème pour afficher un fichier .class dans une page Web [ par zalumetkolo ]
Kikou !Je debute en programmation Java, pour commencer j'ai donc installé NetBeans,plus exactement le pack : J2SE(TM) v 1.4.2 with NetBeans(TM) IDE v
Problem pour faire un fichier .class [ par smitchel ]
bon jour j'ai ce code et je voudrai faire un fichier .class mais je sai pas comment mais jeve aussi pouvoir modifier mon "SERVER_DEFAULT_PORT " pour p
Lire un Fichier.class Java? [ par Delamour ]
Slut !J aimerais bien décoder un fichier Java Class, mais je sais pas trop comment le faire. Merci d avance
Lire informations fichier class dans un programme java [ par traedre ]
Bonjour,j'ai un petit souci à résoudre. Pour une application, je récupère un nom de fichier déjà compilé (donc en .class).A partir de là, j'aimerais r
Applet Read//Write [ par AbriBus ]
Salut a tous...Bon voila, j'ai créé une petite applet qui consulte et crée des fichiers en local sur le disque... alors bien sur mon Eclipse se crée l
fonction commune a +ieurs class (heritees) [ par alonsyl ]
bonjour,j'ai un meme indicateur (1 moyenne mobiles) a calculer dans une dizaine de class (etudes lies a des series temporelles).comment puis-je faire
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice CRéATION D'UNE BASE DE DONNéE SOUS SQL AZURECRéATION D'UNE BASE DE DONNéE SOUS SQL AZURE par junarnoalg
Sans rentrer dans les détails, je me propose ici de faire un rapide tour de ce que propose SQL Azure.
SQL Azure est avant tout un service d'hébergement de base de données relationnelles construit sur SQL Server. Il permet aux entreprises d...
Cliquez pour lire la suite de l'article par junarnoalg TECHDAYS PARIS 2010 : LES SERVICES D'APPLICATIONS DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LES SERVICES D'APPLICATIONS DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Xavier Moreels et Julien Bakmezdjian Ce sujet est lié au partage des applications comme services dans SharePoint 2010, ceci représente la possibilité de créer sa propre application qui sera utilisable comme ceux en standard : Search...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|