Guadagna ON-Line

» Home » Visual Basic:

Range e lifetime delle variabili

Mi sembra, quindi, il caso, per chiudere l’argomento, di parlare dello scope (o range) delle variabili e di spendere due parole sulle costanti prima citate.

Partiamo dalla fine: le costanti sono dei nomi che si associano a dei valori che non possono essere cambiati in nessun modo durante l’esecuzione; per dichiararli si usa la parola chiave Const:

Const Pi = 3.14

ad esempio, permette di riferirsi con la stringa Pi al valore di pi-greco (approssimato…).

Vi siete mai chiesti cosa succederebbe se dichiarassi due variabili con lo stesso nome? Ad esempio cosa accade con una variabile Altezza globale ed una variabile Altezza all’interno di una funzione (o procedura) X (nel senso di una qualsiasi funzione o procedura)? Beh, quello che succede è che fuori della funzione X Altezza si riferisce alla variabile globale, mentre dentro X (e solo dentro X, a meno di altre dichiarazioni di Altezza in altre funzioni), invece, si riferisce alla versione locale. Quello che avviene è un override (sovrapposizione) della variabile locale su quella globale.

Tutte le modifiche fatte alla variabile locale non influenzano la variabile globale.

Posso essere più chiaro (ci provo!). Per far ciò, definisco lo scope, cioè 'l’area di validità' di una variabile.

Se una variabile è dichiarata all’interno di una procedura o funzione il suo scope è la procedura stessa; se è globale il suo scope è il modulo in cui è dichiarata.

Se viene dichiarata una variabile locale con lo stesso nome di una globale (anche di tipo diverso) la variabile globale sarà “celata” da quella locale per tutto il suo scope, cioè in tutta la sezione di programma in cui la variabile locale è valida.

In conclusione, breve accenno al lifetime di una variabile: una variabile viene creata subito dopo la sua dichiarazione e distrutta alla fine della procedura in cui è dichiarata (vedremo meglio il perché più avanti); le variabili globali vengono distrutte al momento dell’uscita dal programma.


 


[ :: Indice Corso :: ]









     

by 1999-2012 , ADMEDIA multimedia software development, Tutti i diritti riservati.
Per utilizzare il materiale pubblicato su HarrrDito.it è necessario richiedere l'autorizzazione.
Tutti i marchi citati sono copyright dei rispettivi proprietari. - Note Legali -




cod: 2-1.06.27 - 38.107.179.223