Cela s'appelle un singleton.
On peut l'implementer de facon simple :

Public class Singleton {
        private static Singleton instance = null;
        private Singleton() {
                // Comme ca pas d'instance dehors !
        }

        public static Singleton getInstance() {
                if (instance == null) instance = new Singleton();
                return instance;
        }
}

Voilu et qd on en a besoin :

Singleton.getInstance().methode() // Genre getConenction()


______________________________________________
Jean-Baptiste BRIAUD                    Sysdeo
Software engineer               www.sysdeo.com
                         www.eclipsetotale.com

> -----Message d'origine-----
> De : Aurelien Mazurie [mailto:[EMAIL PROTECTED]] 
> Envoy� : mardi 1 octobre 2002 13:51
> � : [EMAIL PROTECTED]
> Objet : Classe ma�tresse dans un programme
> 
> 
> 
>       Bonjour � tous,
>       J'ai une question sur l'organisation des programmes Java; mon 
> programme a une classe "ma�tresse", qui lors du d�marrage instancie 
> toutes les autres en se passant � leurs constructeurs. Ainsi, chacune 
> des classes filles peut utiliser des m�thodes de cette classe 
> ma�tresse.
>       Par exemple, la classe ma�tresse s'occupe de la 
> connection � une base 
> de donn�e, et r�cup�re un handle pour cette connection 
> (java.sql.Connection); ce que je veux, c'est que chaque classe fille 
> puisse avoir acc�s � cette variable (comme la variable est le 
> r�sultat 
> de l'instanciation d'une classe d�di�e � la connection, j'aimerai ne 
> cr�er cette derni�re classe qu'une fois pour toute, pour toutes les 
> classes du programme).
> 
>       Pour le moment je proc�de comme �a; le code ma classe 
> ma�tresse est:
> 
> ================================================================
> 
>       import classes_filles.*;
> 
>       public class MaClasseMaitresse
>               {
>                       public Connection connection;           
> // variable � partager chez toutes 
> les classes-filles
> 
>                       public MaClasseMaitresse()
>                               {
>                                       connection = ....       
>               // on initialise cette variable...
>                               
>                                       // Puis on initialise 
> une classe fille en passant � son 
> constructeur
>                                       // une r�f�rence � la 
> classe ma�tresse
>                                       ClassFille fille = new 
> ClassFille(this);
>                               }
> 
> ================================================================
> 
> Ce qui fait que, pour la classe-fille, je peux acc�der � la variable 
> "connection" de la classe ma�tresse de la fa�on suivante:
> 
> ================================================================
>       public class ClassFille
>               {
>                       public Connection connection;           
>       // variable destin�e � recevoir la 
> valeur du handle Connection tel que d�fini par la classe ma�tresse
>                       public MaClassMaitresse classMaitresse;
> 
>                       public ClassFille (MaClassMaitresse maitresse)
>                               {
>                                       classMaitresse = maitresse;
>                                       connection = 
> classMaitresse.connection;    // et hop !
>                                       ...
> 
> ================================================================
> 
>       Mon probl�me c'est que c'est lourd de devoir cha�ner la 
> r�f�rence � la 
> classe ma�tresse dans toutes les classes filles (qui elle-m�me cr�ent 
> des sous-filles, auxquelles la r�f�rence doit �galement �tre 
> pass�e...)
>       N'y a-t'il pas un moyen de stocker quelque part la 
> r�f�rence � la 
> classe ma�tresse, pour que n'importe quelle autre classe du programme 
> puisse utiliser ses m�thodes ? (sachant que la classe ma�tresse est 
> instanci�e avant toutes les autres) Je n'ai pas d'exp�rience dans ce 
> domaine; lorsque mon programme �tait � ses d�buts, c'�tait 
> jouable mais 
> maintenant ca devient p�nible (et j'imagine, une g�ne pour la vitesse 
> d'ex�cution / occupation m�moire) de passer cette r�f�rence 
> de fille en 
> fille, sachant que j'ai une arborescence de classes assez importante.
> 
>       J'imagine que c'est un probl�me classique qu'a du 
> rencontrer tout 
> programmeur d�butant en java ?
> 
>       En vous remerciant,
> 
>       Aur�lien Mazurie
> 

Répondre à