Livelli di accesso in Visual Basic
Il livello di accesso di un elemento dichiarato indica l'ampiezza della capacità di accesso all'elemento, ossia specifica le parti di codice che dispongono delle autorizzazioni di lettura o scrittura sull'elemento.Questo valore dipende non solo dal modo in cui viene dichiarato l'elemento stesso ma anche dal livello di accesso del relativo contenitore.Un codice che non può accedere a un elemento contenitore non può accedere ai relativi elementi contenuti, inclusi quelli dichiarati come Public.Ad esempio, è possibile accedere a una variabile Public in una struttura Private dall'interno della classe contenente la struttura, ma non dall'esterno della classe.
Public
La parola chiave Public (Visual Basic) nell'istruzione di dichiarazione indica che è possibile accedere agli elementi da qualsiasi codice all'interno dello stesso progetto, da altri progetti che fanno riferimento al progetto e da qualsiasi assembly compilato dal progetto.Nel codice riportato di seguito è illustrato un esempio di dichiarazione Public.
Public Class classForEverybody
È possibile utilizzare la parola chiave Public solo a livello di modulo, di interfaccia o di spazio dei nomi.Questo significa che è possibile dichiarare un elemento Public a livello di file di origine o di spazio dei nomi oppure all'interno di un'interfaccia, di un modulo, di una classe o di una struttura, ma non in una routine.
Protected
La parola chiave Protected (Visual Basic) nell'istruzione di dichiarazione indica che è possibile accedere agli elementi solo dall'interno della stessa classe o da una classe da essa derivata.Nel codice riportato di seguito è illustrato un esempio di dichiarazione Protected.
Protected Class classForMyHeirs
È possibile utilizzare la parola chiave Protected solo a livello di classe e solo quando si dichiara un membro di una classe.Questo significa che è possibile dichiarare un elemento Protected in una classe ma non a livello di file di origine o di spazio dei nomi né all'interno di un'interfaccia, di un modulo, di una struttura o di una routine.
Friend
La parola chiave Friend (Visual Basic) nell'istruzione di dichiarazione indica che è possibile accedere agli elementi dall'interno dello stesso assembly, ma non dall'esterno dell'assembly.Nel codice riportato di seguito è illustrato un esempio di dichiarazione Friend.
Friend stringForThisProject As String
È possibile utilizzare la parola chiave Friend solo a livello di modulo, di interfaccia o di spazio dei nomi.Questo significa che è possibile dichiarare un elemento Friend a livello di file di origine o di spazio dei nomi oppure all'interno di un'interfaccia, di un modulo, di una classe o di una struttura, ma non in una routine.
Protected Friend
L'utilizzo di entrambe le parole chiave Protected e Friend nell'istruzione di dichiarazione indica che è possibile accedere agli elementi dalle classi derivate e/o dall'interno dello stesso assembly.Nel codice riportato di seguito è illustrato un esempio di dichiarazione ProtectedFriend.
Protected Friend stringForProjectAndHeirs As String
È possibile utilizzare ProtectedFriend solo a livello di classe e solo quando si dichiara un membro di una classe.Questo significa che è possibile dichiarare un elemento Protected Friend in una classe ma non a livello di file di origine o di spazio dei nomi né all'interno di un'interfaccia, di un modulo, di una struttura o di una routine.
Private
La parola chiave Private (Visual Basic) nell'istruzione di dichiarazione indica che è possibile accedere agli elementi solo dall'interno dello stesso modulo, classe o struttura.Nel codice riportato di seguito è illustrato un esempio di dichiarazione Private.
Private numberForMeOnly As Integer
È possibile utilizzare la parola chiave Private solo a livello di modulo.Questo significa che è possibile dichiarare un elemento Private all'interno di un modulo, di una classe o di una struttura ma non a livello di file di origine o di spazio dei nomi né dall'interno di un'interfaccia o di una routine.
A livello di modulo, l'istruzione Dim senza alcuna parola chiave relativa al livello di accesso equivale a una dichiarazione Private.È possibile comunque utilizzare la parola chiave Private per rendere più semplice la lettura e l'interpretazione del codice.
Modificatori di accesso
Le parole chiave che specificano il livello di accesso sono dette modificatori di accesso.Nella seguente tabella viene effettuato un confronto tra i vari modificatori di accesso.
Modificatore di accesso |
Livello di accesso concesso |
Elementi che è possibile dichiarare con questo livello di accesso |
Contesto della dichiarazione all'interno del quale è possibile utilizzare questo modificatore |
---|---|---|---|
Public |
Illimitato L'accesso a un elemento Public è consentito a qualsiasi parte di codice in cui tale elemento è visibile. |
Interfacce Moduli Classi Strutture Membri di struttura Procedure Proprietà Variabili membro Costanti Enumerazioni Eventi Dichiarazioni esterne Delegati |
File di origine Spazio dei nomi Interfaccia Modulo Classe Struttura |
Protected |
Derivazionale L'accesso a un elemento Protected è consentito al codice della classe che dichiara tale elemento o di una classe da essa derivata. |
Interfacce Classi Strutture Procedure Proprietà Variabili membro Costanti Enumerazioni Eventi Dichiarazioni esterne Delegati |
Classe |
Friend |
Assembly: L'accesso a un elemento Friend è consentito al codice dell'assembly che dichiara tale elemento. |
Interfacce Moduli Classi Strutture Membri di struttura Procedure Proprietà Variabili membro Costanti Enumerazioni Eventi Dichiarazioni esterne Delegati |
File di origine Spazio dei nomi Interfaccia Modulo Classe Struttura |
ProtectedFriend |
Unione di Protected e Friend L'accesso a un elemento Protected Friend è consentito al codice della stessa classe o dello stesso assembly di tale elemento oppure al codice di una qualsiasi classe derivata dalla classe dell'elemento. |
Interfacce Classi Strutture Procedure Proprietà Variabili membro Costanti Enumerazioni Eventi Dichiarazioni esterne Delegati |
Classe |
Private |
Contesto della dichiarazione L'accesso a un elemento Private è consentito al codice del tipo che dichiara tale elemento, incluso il codice dei tipi contenuti. |
Interfacce Classi Strutture Membri di struttura Procedure Proprietà Variabili membro Costanti Enumerazioni Eventi Dichiarazioni esterne Delegati |
Modulo Classe Struttura |
Vedere anche
Attività
Procedura: controllare la disponibilità di una variabile (Visual Basic)
Riferimenti
Concetti
Nomi di elementi dichiarati (Visual Basic)
Riferimenti a elementi dichiarati (Visual Basic)