35. Modificateurs d'Accès : Public, Protected et Private
Les modificateurs d'accès définissent la visibilité et l'accessibilité des propriétés et des méthodes de classe. Ceci est la pierre angulaire de l'Encapsulation.
1. public
Accessible de partout : à l'intérieur de la classe, à l'intérieur des classes enfants, et de l'extérieur (par une instance d'objet).
php
balance; // L'accès depuis l'extérieur est OK ?>2. protected
Accessible uniquement de l'intérieur de la classe elle-même et des classes enfants qui en héritent. Ne peut pas être accédé directement à partir d'une instance d'objet en dehors de la hiérarchie de la classe.
3. private
Accessible uniquement de l'intérieur de la classe elle-même où il est défini. Les membres privés sont invisibles à la fois pour les instances d'objets et les classes enfants.
Comparaison par l'Exemple
php
internal_id; // OK : Accès à private depuis l'intérieur } } $profile = new UserProfile(); echo "Nom : " . $profile->name; // OK (Public) // echo $profile->role; // Fatal Error : Impossible d'accéder à la propriété protected // echo $profile->internal_id; // Fatal Error : Impossible d'accéder à la propriété private echo "ID Interne via méthode publique : " . $profile->showInternalId(); // OK ?>
Meilleure Pratique : Définissez toujours les propriétés par défaut sur private ou protected. Exposez-les uniquement via des méthodes publiques (Getters et Setters) pour contrôler la manière dont les données sont lues et écrites.