Le concept d'encapsulation |
L'encapsulation est un mécanisme consistant à rassembler les données et les méthodes au sein d'une structure en cachant l'implémentation de l'objet, c'est-à-dire en empêchant l'accès aux données par un autre moyen que les services proposés. L'encapsulation permet donc de garantir l'intègrité des données contenues dans l'objet.
Le masquage des informations |
L'utilisateur d'une classe n'a pas forcément à connaître la façon de laquelle sont structurées les données dans l'objet, cela signifie qu'un utilisateur n'a pas à connaître l'implémentation. Ainsi, en interdisant l'utilisateur de modifier directement les attributs, et en l'obligeant à utiliser les fonctions définies pour les modifier (appelées interfaces), on est capable de s'assurer de l'intégrité des données (on pourra par exemple s'assurer que le type de données fournies est conforme à nos attentes, ou encore que les données se trouvent bien dans l'intervalle attendu).
L'encapsulation permet de définir des niveaux de visibilité des éléments de la classe. ces niveaux de visibilité définissent les droits d'accès aux données selon que l'on y accède par une méthode de la classe elle-même, d'une classe héritiére, ou bien d'une classe quelconque. Il existe trois niveaux de visibilité