Bonjour,

Mon programme possède un pointeur sur une classe privée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
maClassePrincipale{
  private pointeurClassePrivee;
 
  public void main( String[] args ) {
    pointeurClassePrivee = new ClassePrivee();
    /.../
  }
}
Cette classe privée est utilisée par d'autres classes dans le programme, ce qui fait qu'elles ont besoin de recevoir ce pointeur.
Pour protéger ce dernier, je l'ai mis en 'private', et je le délivre aux autres classes par un 'getter'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
maClassePrincipale{
  private pointeurClassePrivee;
 
  public void main( String[] args ) {
    pointeurClassePrivee = new ClassePrivee();
    /.../
  }
 
  public ClassePrivee donnePointeurClassePrivee() {
    return pointeurClassePrivee ;
  }
}
Qu'est-ce qui empêche une classe utilisatrice de faire çà :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ClassePrivee pointeurSurClassePrivee = donnePointeurClassePrivee();
pointeurSurClassePrivee = null;
J'ai pas l'impression que ce système protège le membre pointeurClassePrivee , autant le laisser en public.

Comment garantir la protection du membre ?
Merci