interet de faire des package ? [JAVA] - Programmation
Marsh Posté le 06-03-2002 à 21:15:41
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.
Marsh Posté le 06-03-2002 à 22:30:12
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 ?
Marsh Posté le 06-03-2002 à 22:39:39
et imagine l'utilisation de la java doc vive la molette !!!
Marsh Posté le 07-03-2002 à 00:44:53
Ctrl-f!
[jfdsdjhfuetppo]--Message édité par Krueger--[/jfdsdjhfuetppo]
Marsh Posté le 07-03-2002 à 08:42:38
Citation : |
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!
Marsh Posté le 06-03-2002 à 21:03:15
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 ?