Objetos y clases

En ActionScript 3.0, cada objeto se define mediante una clase. Una clase puede considerarse como una plantilla o un modelo para un tipo de objeto. Las definiciones de clase pueden incluir variables y constantes, que contienen valores de datos y métodos, que son funciones que encapsulan el comportamiento asociado a la clase. Los valores almacenados en propiedades pueden ser valores simples u otros objetos. Los valores simples son números, cadenas o valores booleanos.

ActionScript contiene diversas clases incorporadas que forman parte del núcleo del lenguaje. Algunas de estas clases incorporadas, como Number, Boolean y String, representan los valores simples disponibles en ActionScript. Otras, como las clases Array, Math y XML, definen objetos más complejos.

Todas las clases, tanto las incorporadas como las definidas por el usuario, se derivan de la clase Object. Para los programadores con experiencia previa en ActionScript, es importante tener en cuenta que el tipo de datos Object ya no es el tipo de datos predeterminado, aunque todas las demás clases se deriven de él. En ActionScript 2.0, las dos líneas de código siguientes eran equivalentes, ya que la ausencia de una anotación de tipo significaba que una variable era de tipo Object:

var someObj:Object; 
var someObj;

En ActionScript 3.0 se introduce el concepto de variables sin tipo, que pueden designarse de las dos maneras siguientes:

var someObj:*; 
var someObj;

Una variable sin tipo no es lo mismo que una variable de tipo Object. La principal diferencia es que las variables sin tipo pueden contener el valor especial undefined, mientras que una variable de tipo Object no puede contener ese valor.

Un programador puede definir sus propias clases mediante la palabra clave class. Las propiedades de clase se pueden definir de tres formas diferentes: las constantes se pueden definir con la palabra clave const, las variables con la palabra clave var, y las propiedades de captores y definidores con los atributos get y set de una declaración de método. Los métodos se declaran con la palabra clave function.

Para crear una instancia de una clase hay que utilizar el operador new. En el ejemplo siguiente se crea una instancia de la clase Date denominada myBirthday.

var myBirthday:Date = new Date();