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 à