Les modificateurs d'accès contrôlent la visibilité des membres de classe, en appliquant l'encapsulation en restreignant qui peut les lire ou les appeler.
Les modificateurs d'accès contrôlent la visibilité des membres de classe, en appliquant l'encapsulation en restreignant qui peut les lire ou les appeler.
| Modificateur | Accessible depuis |
|---|
public | N'importe où |
protected | La classe et ses sous-classes |
private | Uniquement dans la classe déclarante |
public class Employee {
private double salary; // internal — only Employee touches it
protected String department; // subclasses may use it
public String name; // open to all
public double getSalary() { // controlled, public read access
return salary;
}
}
salary est private donc aucun code extérieur ne peut le corrompre ; le getter public est la seule fenêtre.
class Demo:
def __init__(self):
self.public = 1
self._protected = 2 # convention only ("don't touch")
self.__private = 3 # name-mangled to _Demo__private
Python n'a pas de private appliqué — il s'appuie sur les conventions de nommage. Java/C# appliquent les modificateurs au moment de la compilation. Java a aussi package-private (le défaut, sans mot-clé).
Rendre tout public annule l'encapsulation. Par défaut, utilisez le niveau le plus restrictif et élargissez seulement si un vrai besoin apparaît.
Les modificateurs d'accès sont l'outil concret qui transforme l'encapsulation d'un principe en règle appliquée que le compilateur vérifie.
Une surface publique réduite signifie que moins de code peut dépendre des détails internes, vous pouvez donc refactoriser librement sans casser les appelants.
Une bibliothèque de questions d'entretien IT avec des réponses détaillées — du Junior au Senior.
Faire un don