Niveaux d'accès dans Visual Basic
Le niveau d'accès d'un élément déclaré est l'étendue de la capacité à l'utiliser, à savoir le code qui est autorisé à lire l'élément ou à y écrire. Le niveau d'accès est déterminé d'une part par la façon dont vous déclarez l'élément lui-même et d'autre part par le niveau d'accès du conteneur de cet élément. Le code qui ne peut pas accéder à un élément conteneur ne peut accéder à aucun de ses éléments contenus, même qui sont ceux déclarés comme Public. Par exemple, une variable Public dans une structure Private est accessible à partir de l'intérieur de la classe contenant la structure, mais non à partir de l'extérieur de celle-ci.
Public
Le mot clé Public (Visual Basic) dans l'instruction de déclaration spécifie que les éléments sont accessibles à partir du code partout à l'intérieur d'un projet, à partir d'autres projets qui font référence à ce projet et à partir de tout assembly généré à partir de ce projet. Le code suivant illustre un exemple de déclaration Public.
Public Class classForEverybody
Vous pouvez utiliser le mot clé Public seulement au niveau du module, de l'interface ou de l'espace de noms. En d'autres termes, vous pouvez déclarer un élément public au niveau d'un fichier source ou d'un espace de noms, ou à l'intérieur d'une interface, d'un module, d'une classe ou d'une structure, mais pas dans une procédure.
Protégé
Le mot clé Protected (Visual Basic) dans l'instruction de déclaration spécifique que les éléments sont accessibles uniquement à partir d'une même classe ou d'une classe dérivée de celle-ci. Le code suivant illustre un exemple de déclaration Protected.
Protected Class classForMyHeirs
Vous pouvez utiliser Protected uniquement au niveau de la classe et uniquement lors de la déclaration d'un membre d'une classe. Cela signifie que vous pouvez déclarer un élément protégé dans une classe, mais pas au niveau d'un fichier source ou d'un espace de noms, ni à l'intérieur d'une interface, d'un module, d'une structure ou d'une procédure.
Friend
Le mot clé Friend (Visual Basic) dans l'instruction de déclaration spécifie que les éléments sont accessibles à partir du même assembly, mais pas à partir de l'extérieur de l'assembly. Le code suivant illustre un exemple de déclaration Friend.
Friend stringForThisProject As String
Vous pouvez utiliser le mot clé Friend seulement au niveau du module, de l'interface ou de l'espace de noms. En d'autres termes, vous pouvez déclarer un élément "friend" au niveau d'un fichier source ou d'un espace de noms, ou à l'intérieur d'une interface, d'un module, d'une classe ou d'une structure, mais pas dans une procédure.
Protected Friend
Les mots clés Protected et Friend ensemble dans l'instruction de déclaration spécifient que les éléments sont accessibles soit à partir de classes dérivées, soit à partir du même assembly, soit les deux. Le code suivant illustre un exemple de déclaration Protected Friend.
Protected Friend stringForProjectAndHeirs As String
Vous pouvez utiliser Protected Friend uniquement au niveau de la classe et uniquement lors de la déclaration d'un membre d'une classe. Cela signifie que vous pouvez déclarer un élément "protected friend" dans une classe, mais pas au niveau d'un fichier source ou d'un espace de noms, ni à l'intérieur d'une interface, d'un module, d'une structure ou d'une procédure.
Privé
Le mot clé Private (Visual Basic) dans l'instruction de déclaration spécifie que les éléments sont accessibles uniquement à partir du même module, de la même classe ou de la même structure. Le code suivant illustre un exemple de déclaration Private.
Private numberForMeOnly As Integer
Vous pouvez utiliser Private seulement au niveau du module. Cela signifie que vous pouvez déclarer un élément privé à l'intérieur d'un module, d'une classe ou d'une structure, mais pas au niveau d'un fichier source ou d'un espace de noms, ni à l'intérieur d'une interface ou d'une procédure.
Au niveau du module, l'instruction Dim utilisée sans mot clé de niveau d'accès équivaut à une déclaration Private. Toutefois, il peut s'avérer utile d'utiliser le mot clé Private afin que votre code soit plus facile à lire et à interpréter.
Modificateurs d'accès
Les mots clés qui spécifient le niveau d'accès portent le nom de modificateurs d'accès. Le tableau suivant compare les modificateurs d'accès.
Modificateur d'accès |
Niveau d'accès accordé |
Éléments que vous pouvez déclarer avec ce niveau d'accès |
Contexte de déclaration dans lequel vous pouvez utiliser ce modificateur |
---|---|---|---|
Public |
Illimité : Tout code qui peut voir un élément public peut y accéder |
Interfaces Modules Classes Structures Membres de structures Procédures Propriétés Variables membres Constantes Énumérations Événements Déclarations externes Délégués |
Fichier source Espace de noms Interface Module Classe Structure |
Protected |
Dérivationnel : Le code dans la classe qui déclare un élément protégé, ou une classe dérivée d'elle, peut accéder à l'élément |
Interfaces Classes Structures Procédures Propriétés Variables membres Constantes Énumérations Événements Déclarations externes Délégués |
Classe |
Friend |
Assembly : Le code dans l'assembly qui déclare un élément « friend » peut y accéder |
Interfaces Modules Classes Structures Membres de structures Procédures Propriétés Variables membres Constantes Énumérations Événements Déclarations externes Délégués |
Fichier source Espace de noms Interface Module Classe Structure |
Protected Friend |
Union de Protected et Friend : Le code dans la même classe ou le même assembly qu'un élément « protected friend » ou dans toute classe dérivée de la classe de l'élément, peut y accéder |
Interfaces Classes Structures Procédures Propriétés Variables membres Constantes Énumérations Événements Déclarations externes Délégués |
Classe |
Private |
Contexte de déclaration : Le code dans le type qui déclare un élément privé, y compris code situé dans des types contenus, peut accéder à l'élément |
Interfaces Classes Structures Membres de structures Procédures Propriétés Variables membres Constantes Énumérations Événements Déclarations externes Délégués |
Module Classe Structure |
Voir aussi
Tâches
Comment : contrôler la disponibilité d'une variable (Visual Basic)
Référence
Dim, instruction (Visual Basic)
Concepts
Noms d'éléments déclarés (Visual Basic)
Références aux éléments déclarés (Visual Basic)
Caractéristiques d'éléments déclarés (Visual Basic)