Variables

Las variables pueden declararse con las palabras clave var o const. Es posible cambiar los valores de las variables declaradas con la palabra clave var varias veces durante la ejecución de un script. Las variables declaradas con la palabra clave const se denominan constantes y se les puede asignar valores una sola vez. Un intento de asignar un valor nuevo a una constante inicializada provoca un error. Para más información, consulte Constantes.

Subtemas

Variables estáticas
Variables de instancia

Variables estáticas

Las variables estáticas se declaran mediante una combinación de la palabra clave static y la sentencia var o const. Las variables estáticas, que se asocian a una clase en lugar de a una instancia de una clase, son útiles para almacenar y compartir información que se aplica a toda una clase de objetos. Por ejemplo, una variable estática es adecuada si se desea almacenar un recuento del número de veces que se crea una instancia de una clase o si se desea almacenar el número máximo de instancias de la clase permitidas.

En el ejemplo siguiente se crea una variable totalCount para hacer un seguimiento del número de instancias de clase creadas y una constante MAX_NUM para almacenar el número máximo de instancias creadas. Las variables totalCount y MAX_NUM son estáticas porque contienen valores que se aplican a la clase como un todo en lugar de a una instancia concreta.

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

El código externo a la clase StaticVars y a cualquiera de sus subclases sólo puede hacer referencia a las propiedades totalCount y MAX_NUM a través de la misma clase. Por ejemplo, el siguiente código funciona:

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

No se puede acceder a variables estáticas a través de una instancia de la clase, por lo que el código siguiente devuelve errores:

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

Las variables declaradas con las palabras clave static y const deben ser inicializadas a la vez que se declara la constante, como hace la clase StaticVars para MAX_NUM. No se puede asignar un valor a MAX_NUM dentro del constructor o de un método de instancia. El código siguiente generará un error, ya que no es una forma válida de inicializar una constante estática:

// !! Error al inicializar la constante estática de esta manera
class StaticVars2
{
    public static const UNIQUESORT:uint;
    function initializeStatic():void
    {
        UNIQUESORT = 16;
    }
}

Variables de instancia

Las variables de instancia incluyen propiedades declaradas con las palabras clave var y const, pero sin la palabra clave static. Las variables de este tipo, que se asocian a instancias de clase en lugar de a una clase completa, son útiles para almacenar valores específicos de una instancia. Por ejemplo, la clase Array tiene una propiedad de instancia denominada length que almacena el número de elementos de matriz contenidos en una instancia concreta de la clase Array.

En una subclase no se pueden sustituir las variables de instancia, aunque se declaren como var o const. Sin embargo, se puede obtener una funcionalidad similar a la sustitución de variables sustituyendo métodos de captador y definidor. Para más información, consulte Métodos descriptores de acceso (captador y definidor).


Flash CS3

 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000063.html