Variabili

Le variabili possono essere dichiarate con le parole chiave var o const. I valori delle variabili dichiarate con la parola chiave var possono essere modificati più volte durante l'esecuzione di uno script. Le variabili dichiarate con la parola chiave const sono dette costanti e a esse possono essere assegnati valori una sola volta. Se si tenta di assegnare un nuovo valore a una costante inizializzata si verifica un errore. Per ulteriori informazioni, vedere Costanti.

Sezioni

Variabili statiche
Variabili di istanza

Variabili statiche

Le variabili statiche vengono dichiarate utilizzando una combinazione della parola chiave static e dell'istruzione var o const. Le variabili statiche che vengono associate a una classe, anziché all'istanza di una classe, sono utili per memorizzare e condividere informazioni applicabili a un'intera classe di oggetti. Ad esempio, è appropriato l'impiego di una variabile statica per registrare quante volte viene creata un'istanza di una determinata classe oppure per memorizzare il numero massimo di istanze di una classe consentito.

Nell'esempio seguente viene creata una variabile totalCount per registrare il numero di volte in cui viene creata l'istanza di una classe e una costante MAX_NUM per memorizzare il numero massimo di istanze consentite. Le variabili totalCount e MAX_NUM sono statiche, in quanto contengono valori applicabili all'intera classe e non a una sua particolare istanza.

class StaticVars
{
    public static var totalCount:int = 0;
    public static const MAX_NUM:uint = 16;
}

Il codice esterno alla classe StaticVars e alle sue sottoclassi può fare riferimento alle proprietà totalCount e MAX_NUM solo attraverso la classe stessa. Ad esempio, il codice seguente funziona:

trace(StaticVars.totalCount); // output: 0
trace(StaticVars.MAX_NUM); // output: 16

Non è possibile accedere a variabili statiche attraverso un'istanza della classe; il codice seguente restituisce degli errori:

var myStaticVars:StaticVars = new StaticVars();
trace(myStaticVars.totalCount); // Errore
trace(myStaticVars.MAX_NUM); // Errore

Le variabili dichiarate sia con la parola chiave static che const devono essere inizializzate nel momento in cui viene dichiarata la costante, come avviene all'interno della classe StaticVars per MAX_NUM. Non è possibile assegnare un valore a MAX_NUM all'interno della funzione di costruzione o di un metodo di istanza. Il codice seguente genera un errore in quanto non è un metodo valido per inizializzare una costante statica:

// !! Errore; impossibile inizializzare una costante in questo modo
class StaticVars2
{
    public static const UNIQUESORT:uint;
    function initializeStatic():void
    {
        UNIQUESORT = 16;
    }
}

Variabili di istanza

Le variabili di istanza includono proprietà dichiarate con le parole chiave var e const, ma senza la parola chiave static. Le variabili di istanza associate a istanze di classe, anziché a un'intera casse, sono utili per la memorizzazione di valori specifici di una particolare istanza. Ad esempio, la classe Array presenta una proprietà di istanza denominata length nella quale è memorizzato il numero di elementi di array contenuti in una particolare istanza della classe Array.

Le variabili di istanza, dichiarate sia con la parola chiave var che const, non possono essere sovrascritte all'interno di una sottoclasse. È tuttavia possibile ottenere una funzionalità analoga sostituendo i metodi getter e setter. Per ulteriori informazioni, vedere Metodi supplementari get e set.


Flash CS3

 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/main/00000063.html