Encapsulation

Fiabilité

Que signifie l’encapsulation ?

L’encapsulation, dans le contexte de C#, fait référence à la capacité d’un objet à masquer des données et des comportements qui ne sont pas nécessaires à son utilisateur. L’encapsulation permet à un groupe de propriétés, de méthodes et d’autres membres d’être considérés comme une seule unité ou un seul objet.

Les avantages de l’encapsulation sont les suivants :

  • Protection des données contre la corruption accidentelle
  • Spécification de l’accessibilité de chacun des membres d’une classe au code extérieur à la classe
  • Flexibilité et extensibilité du code et réduction de la complexité
  • Couplage plus faible entre les objets et donc amélioration de la maintenabilité du code

L’encapsulation est utilisée pour restreindre l’accès aux membres d’une classe afin d’empêcher l’utilisateur d’une classe donnée de manipuler les objets d’une manière qui n’est pas prévue par le concepteur.

Alors que l’encapsulation masque l’implémentation interne des fonctionnalités de la classe sans affecter le fonctionnement global du système, elle permet à la classe de répondre à une demande de fonctionnalité et d’ajouter ou de modifier sa structure interne (données ou méthodes) pour répondre aux exigences changeantes.

L’encapsulation est également connue sous le nom de masquage d’informations.

Techopedia explique l’encapsulation

L’encapsulation en C# est implémentée avec différents niveaux d’accès aux données d’objet qui peuvent être spécifiés à l’aide des modificateurs d’accès suivants :

  • Public : accès à tout le code du programme
  • Privé : accès uniquement aux membres de la même classe
  • Protégé : accès aux membres de la même classe et à ses classes dérivées
  • Interne : accès à l’assembly actuel
  • Interne protégé : accès à l’assembly actuel et aux types dérivés de la classe contenante

L’encapsulation peut être illustrée avec un exemple d’objet Employee qui stocke les détails de cet objet.

En utilisant l’encapsulation, l’objet Employee peut exposer les données (comme Name, EmployeeID, etc.) et les méthodes (comme GetSalary) nécessaires à l’utilisation de l’objet, tout en masquant ses champs et méthodes non pertinents aux autres objets.

Il est facile d’imaginer une situation dans laquelle tous les utilisateurs pourraient accéder aux informations de base sur un employé tout en limitant les informations sur le salaire.

C# permet l’encapsulation de données grâce à l’utilisation d’accesseurs (pour obtenir des données) et de mutateurs (pour modifier des données), qui aident à manipuler indirectement des données privées sans les rendre publiques.

Les propriétés sont un mécanisme alternatif permettant d’encapsuler des données privées dans un objet C# et d’y accéder en mode lecture seule ou en mode lecture-écriture. Contrairement à l’accesseur et au mutateur, une propriété fournit un point d’accès unique aux valeurs « set » et « get » d’un objet.

Termes connexes

Vincent Grethen
Responsable d'édition

Diplômé de l'Ecole de Journalisme de Louvain La Neuve en Belgique, c'est finalement le monde du contenu en ligne qui m'a permis d'assouvir ma passion pour l'écriture. Depuis plus de 10 ans, j'explore divers secteurs, notamment le bien-être, le médical ou encore le tourisme. Cette polyvalence est mon atout majeur pour capter l'attention des lecteurs et des lectrices. Aujourd'hui, ma plume évolue au rythme des innovations, au service des passionnés de technologie, toujours avec le même plaisir de jouer avec les mots.