Differenze tra proprietà e variabili in Visual Basic

Le variabili e le proprietà rappresentano entrambe i valori a cui è possibile accedere. Esistono tuttavia differenze nell'archiviazione e nell'implementazione.

Variabili

Una variabile corrisponde direttamente a una posizione di memoria. Una variabile viene definita con una singola istruzione di dichiarazione. Una variabile può essere una variabile locale, definita all'interno di una routine e disponibile solo all'interno di tale routine oppure può essere una variabile membro, definita in un modulo, una classe o una struttura, ma non all'interno di una routine. Una variabile membro viene chiamata anche campo.

Proprietà

Una proprietà è un elemento dati definito in un modulo, una classe o una struttura. Una proprietà viene definita con un blocco di codice tra le istruzioni Property e End Property. Il blocco di codice contiene una routine Get, una routine Set o entrambe. Queste routine sono denominate routine di proprietà o funzioni di accesso alle proprietà. Oltre a recuperare o archiviare il valore della proprietà, possono anche eseguire azioni personalizzate, come l'aggiornamento di un contatore di accesso.

Differenze

La tabella seguente illustra alcune importanti differenze tra variabili e proprietà.

Differenza Variabile Proprietà
Dichiarazione Singola istruzione di dichiarazione Serie di istruzioni in un blocco di codice
Implementazione Singola posizione di archiviazione Codice eseguibile (routine di proprietà)
Storage Direttamente associata al valore della variabile In genere l'archiviazione interna non è disponibile all'esterno della classe o del modulo che contiene la proprietà

Il valore della proprietà potrebbe esistere o meno come elemento archiviato 1
Codice eseguibile None Deve avere almeno una routine
Accesso in lettura e scrittura Lettura/scrittura o sola lettura Lettura/scrittura, sola lettura o sola scrittura
Azioni personalizzate (oltre ad accettare o restituire un valore) Non possibile Può essere eseguita come parte dell'impostazione o del recupero del valore della proprietà

1 A differenza di una variabile, il valore di una proprietà potrebbe non corrispondere direttamente a un singolo elemento di archiviazione. L'archiviazione potrebbe essere suddivisa in parti per praticità o sicurezza oppure il valore potrebbe essere archiviato in un formato crittografato. In questi casi la routine Get assembla le parti o decrittografa il valore archiviato, mentre la routine Set crittografa il nuovo valore o lo suddivide nella risorsa di archiviazione costituente. Il valore di una proprietà potrebbe essere temporaneo, come l'ora del giorno, nel qual caso la routine Get lo calcolerà in tempo reale ogni volta che si accede alla proprietà.

Vedi anche