Java pour l'informatique industrielle
Chapitre 1. Introduction aux objets
Chapitre 2. Les structures de contrôle
2.1. Abstraction et modularité
2.2. La comparaison
2.3. Le choix
2.4. Les constructeurs
2.5. La surcharge
2.6. La répétition
2.7. Les variables
2.7.1. Les champs/attributs
2.7.2. Les variables locales
2.7.3. Les paramètres
2.7.4. La visibilité: private/public
2.8. Le domaine de valeur
2.9. Exercice
Chapitre 3. Unifier et réutiliser
Chapitre 4. Modèle, Vue et Contrôle
Chapitre 5. Les entrées/sorties
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

2.7.4. La visibilité: private/public

Les membres (champs et méthodes) ont une visibilité : private ou public.

Lorsque la visibilité est public, tout morceau de code qui a accès à l'objet dont un membre est public peut accéder à ce membre. Dans le cas des champs, on peut lire et modifier la valeur du champ. Presque toutes les méthodes doivent être déclarées public et presque tous les champs doivent être déclarés private.

Lorsque que la visibilité est private, seul du code situé dans le bloc de déclaration de classe dans lequel est déclaré le membre privé peut y accéder.

class Compteur { private int etat; public int getEtat() { return this.etat; } boolean egalA1(Compteur c) { // autorisé return this.getEtat() == c.getEtat(); } boolean egalA2(Compteur c) { // l'accès à l'état de c est autorisé // malgré que etat soit déclaré private return this.etat == c.etat; } }class Foo { boolean comp1 (Compteur c1, Compteur c2) { // Autorisé à partir de la classe Foo // seulement parce que getEtat est public return c1.getEtat() == c2.getEtat(); } boolean comp2 (Compteur c1, Compteur c2) { // Interdit (à la compilation) // car etat est déclaré private return c1.etat == c2.etat; } }

Combiné avec l'analyse par invariant, la visibilité permet de s'assurer que personne ne viendra modifier la valeur des champs autrement que par l'utilisation des méthodes publiques. Chaque méthode publique doit alors faire l'objet d'une étude particulière.

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante