Programmation Java/Encapsulation

Un livre de Wikilivres.
Aller à : navigation, rechercher


En Java, comme dans beaucoup de langages orientés objet, les classes, les attributs et les méthodes bénéficient de niveaux d'accessibilité, qui indiquent dans quelles circonstances on peut accéder à ces éléments.

Ces niveaux sont au nombre de 4, correspondant à 3 mots-clés utilisés comme modificateurs : private, protected et public. La quatrième possibilité est de ne pas spécifier de modificateur (comportement par défaut).

Comportement par défaut[modifier | modifier le wikicode]

Si aucun modificateur n'est indiqué, l'élément n'est accessible que depuis les classes faisant partie du même package.

Exemple :

 package com.moimeme.temps;
 
 class Horloge
 {
     // corps de la classe
 }
 
 public class Calendrier
 {
     void ajouteJour()
     {
         // corps de la methode
     }
 
     int mois;
 
     // suite de la classe
 }

La classe Horloge, la méthode ajouteJour et l'attribut mois ne sont accessibles que depuis les classes faisant partie du package com.moimeme.temps.

Modificateur "private"[modifier | modifier le wikicode]

Un attribut ou une méthode déclarée "private" n'est accessible que depuis l'intérieur de la même classe.

Modificateur "protected"[modifier | modifier le wikicode]

Un attribut ou une méthode déclarée "protected" est accessible uniquement aux classes d'un package et à ses sous-classes même si elles sont définies dans un package différent.

Modificateur "public"[modifier | modifier le wikicode]

Une classe, un attribut ou une méthode déclarée "public" est visible par toutes les classes et les méthodes.

En résumé[modifier | modifier le wikicode]

Le tableau résume les différents mode d'accès des membres d'une classe.

Modificateur du membre private aucun protected public
Accès depuis la classe Oui Oui Oui Oui
Accès depuis une classe du même package Non Oui Oui Oui
Accès depuis une sous-classe Non Non Oui Oui
Accès depuis toute autre classe Non Non Non Oui