Modificateurs d’accès

Définition - Que signifient les modificateurs d'accès?

Les modificateurs d'accès sont des mots-clés utilisés pour spécifier l'accessibilité d'une classe (ou d'un type) et de ses membres. Ces modificateurs peuvent être utilisés à partir du code à l'intérieur ou à l'extérieur de l'application actuelle.

Les modificateurs d'accès dans .NET sont utilisés pour contrôler l'accessibilité de chacun des membres d'un type à partir de différentes zones de code possibles. Cela peut être géré à partir de l'assemblage actuel ou de l'extérieur. Un assembly représente une unité logique de fonctionnalité et se compose de types et de ressources situés dans un ou plusieurs fichiers.

Le but de l'utilisation des modificateurs d'accès est d'implémenter l'encapsulation, qui sépare l'interface d'un type de son implémentation. Avec cela, les avantages suivants peuvent être obtenus:

  • Prévention de l'accès à l'ensemble de données internes par les utilisateurs à l'état invalide.
  • Provision pour les modifications de l'implémentation interne des types sans affecter les composants qui l'utilisent.
  • Réduction de la complexité du système en réduisant les interdépendances entre les composants logiciels.

Definir Tech explique les modificateurs d'accès

Le framework .NET offre la possibilité d'avoir cinq types de modificateurs d'accès:

  1. Privé - le code dans le type ne peut accéder qu'aux membres de ce type, et par conséquent, l'accessibilité est limitée au type actuel
  2. Public - le code de n'importe où dans l'assembly actuel, ou un autre assembly qui le référence, peut accéder aux membres du type, et permet donc l'accessibilité de n'importe où
  3. Protégé - le code dans le type, ou ses classes dérivées, peut accéder aux membres du type et, par conséquent, l'accessibilité est limitée au type actuel et aux classes dérivées
  4. Interne - le code de l'assembly actuel, mais pas d'un autre assembly, peut accéder aux membres du type, par conséquent, l'accessibilité est limitée à l'assembly actuel
  5. Protected Internal - le code de l'assembly actuel peut accéder aux membres du type et également à partir de l'assembly qui le référence. Par conséquent, l'accessibilité provient des classes dérivées de l'assembly actuel et doit avoir lieu via une instance de type de classe dérivée dans l'assembly qui la référence

Plusieurs règles s'appliquent aux modificateurs d'accès:

  • Lorsqu'aucun modificateur d'accès n'est spécifié pour les membres de type, le niveau d'accès par défaut est privé et interne.
  • Aucun modificateur d'accès n'est autorisé pour les espaces de noms, car ils sont publics.
  • Les classes imbriquées et les membres de structure déclarés dans un type sont, pour la classe contenant, privés par défaut.
  • Les membres de structure ne peuvent pas être déclarés protégés car ils ne prennent pas en charge l'héritage.
  • Les destructeurs ne peuvent pas avoir accès aux modificateurs.
  • Le type dérivé ne peut pas avoir une plus grande accessibilité que son type de base.
  • Le membre d'un type conteneur doit avoir une accessibilité inférieure à celle de son type conteneur. Ceci peut être illustré par un exemple: Une méthode publique dans un type conteneur ne peut pas avoir «A» comme paramètre, si le type A n'est pas en visibilité publique.
  • Les interfaces sont déclarées publiques et internes, et ne peuvent pas avoir d'autres modificateurs d'accès, car les interfaces sont principalement utilisées pour l'accès par les classes pour en dériver.
  • Les modificateurs d'accès sont utilisés non seulement pour les membres de la classe, mais également pour d'autres constructions de code avec la même intention.