1.9 Visiblité et encapsulation
La visibilité représente l’accessibilité d’un objet (classes, variables, attributs, méthodes…) :
- par défaut : limitée au package
public: sans limite (n’importe où)private: limitée à la classeprotected: limitée à la classe et ses héritières
L’encapsulation détermine la portée d’une variable : elle est plus ou accessible selon le bloc dans lequel elle est déclarée.
Par exemple :
Une variable déclarée dans une boucle sera uniquement accessible à l’intérieur de celle-ci.
Une variable déclarée dans une fonction sera uniquement accessible à l’intérieur de celle-ci.
Une variable déclarée dans le main, quant à elle, sera accessible aux méthodes utilisées dans le main.
–> Une classe est responsable de ses données.
Les variables déclarées dans une classe (attributs) ne sont donc pas accessibles à l’extérieur de celle-ci, pour les protéger. Des méthodes spécifiques sont définies dans la classe pour accéder ou modifier ces variables depuis l’extérieur : appelées des assesseurs et mutateurs (getters et setters), elles permettent de sélectionner les variables auxquelles on donne accès et d’effectuer des contrôles.