Livelli di accesso in Visual Basic
Aggiornamento: novembre 2007
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 Routine 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 Routine 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 Routine 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 Routine 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 Routine Proprietà Variabili membro Costanti Enumerazioni Eventi Dichiarazioni esterne Delegati |
Modulo Classe Struttura |
Vedere anche
Attività
Procedura: controllare la disponibilità di una variabile
Concetti
Caratteristiche di elementi dichiarati
Dichiarazione di variabili in Visual Basic