Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1708 connectés 

 


Dernière réponse
Sujet : [JAVA] interet de faire des package ?
gfive

Citation :


sinon, j'ai un objet qui est créé au démarrage du programme, et j'aimerais qu'il soit accessible dans toutes les autres classes. Comment faut que je fasse ?

 
 
Pour ce genre de truc, 2 solutions :  
 
Soit, tu n'a qu'une instance de cette classe, et il n'y en aura toujours qu'une seule (ex : une classe de gestion de propriétés, par exemple, ou un manager de sessions quelconques), le mieux est d'utiliser le pattern Singleton :  
 
Tu crées ta classe, avec une instance statique, et une méthod statique getInstance() qui instancie l'objet s'il n'est pas déjà instancié, et le retourne....
 
Sinon, si il peut y avoir plusieurs instances, alors il faut effectivement que tu passes l'instance qui t'intéresse à tes autres classes....
 
Ouala! :)


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
gfive

Citation :


sinon, j'ai un objet qui est créé au démarrage du programme, et j'aimerais qu'il soit accessible dans toutes les autres classes. Comment faut que je fasse ?

 
 
Pour ce genre de truc, 2 solutions :  
 
Soit, tu n'a qu'une instance de cette classe, et il n'y en aura toujours qu'une seule (ex : une classe de gestion de propriétés, par exemple, ou un manager de sessions quelconques), le mieux est d'utiliser le pattern Singleton :  
 
Tu crées ta classe, avec une instance statique, et une méthod statique getInstance() qui instancie l'objet s'il n'est pas déjà instancié, et le retourne....
 
Sinon, si il peut y avoir plusieurs instances, alors il faut effectivement que tu passes l'instance qui t'intéresse à tes autres classes....
 
Ouala! :)

Krueger :nono:
Ctrl-f! :D

 

[jfdsdjhfuetppo]--Message édité par Krueger--[/jfdsdjhfuetppo]

jerem38 merci a vs.
 
ouais, elle a pris le feu, ma molette ^^
benou et imagine l'utilisation de la java doc :lol: vive la molette !!! :D
Kahyman Le but des packages est la lisibilite et la possibilite de classifier tes classes...
 
Pense a un projet comme Jalapeno (VM IBM en Java) ou tu debats avec plusieurs dizaines de milliers de classes... et imagines maintenant la facilite d'utilisation lorsque tu apprends que cette VM a toutes ses classes dans un seul et unique package (pour des raisons d'efficacite)...
 
De meme imagine toutes les apis java dans un seul et unique package...
 
Je crois que tu peux te faire toi meme ton idee non ?
darklord

jerem38 a écrit a écrit :

voila, dans le programme que je modifie, toutes les classes commencent par "package monPackage;"
ca sert a quoi, de faire un package ?
 
sinon, j'ai un objet qui est créé au démarrage du programme, et j'aimerais qu'il soit accessible dans toutes les autres classes. Comment faut que je fasse ?  




 
Suppose que tu veux faire une classe Utilitaire (Utils). Tout marche très bien sans package. Et puis tu voudrais bien utiliser une librairie qui te permet d'envoyer des mails. Cette librairie comporte un classe Utils. La JVM ne peut pas différencier ta classe de celle de la libraire (donc ca veut dire qu'au sein d'un programme tu ne peux pas avoir des classes qui porte le meme nom.
 
Autre exemple Date. Tu as une date normale (java.util) et une date SQL (java.sql). C'est plus simple que Date et SQLDate non ?
 
Pour ton autre question, il y a plein de moyen de le faire (le passer en référence, stocker la ref dans une classe statique, etc.

jerem38 voila, dans le programme que je modifie, toutes les classes commencent par "package monPackage;"
ca sert a quoi, de faire un package ?
 
sinon, j'ai un objet qui est créé au démarrage du programme, et j'aimerais qu'il soit accessible dans toutes les autres classes. Comment faut que je fasse ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)