No ActionScript 3.0, cada objeto é definido por uma classe. Uma classe pode ser entendida como um modelo ou uma cópia de um tipo de objeto. As definições de classe podem incluir variáveis e constantes, que mantêm valores de dados, e métodos, que são funções de encapsulamento de comportamento vinculadas à classe. Os valores armazenados em propriedades podem ser
valores primitivos
ou outros objetos. Os valores primitivos são números, seqüências de caracteres ou valores booleanos.
O ActionScript contém diversas classes embutidas que fazem parte da linguagem central. Algumas delas, como Number, Boolean e String, representam os valores primitivos disponíveis no ActionScript. Outras classes, como Array, Math e XML, definem objetos mais complexos.
Todas as classes, incorporadas ou definidas pelo usuário, derivam da classe Object. Para os programadores com experiência no ActionScript, é importante observar que o tipo de dados Object não é mais o tipo de dados padrão, muito embora todas as outras classes ainda derivem dessa. No ActionScript 2.0, as duas linhas de código a seguir eram equivalentes porque a falta de uma anotação de tipo significava que uma variável seria do tipo Object:
var someObj:Object;
var someObj;
O ActionScript 3.0, porém, apresenta o conceito de variáveis sem tipo, que podem ser designadas destas duas formas:
var someObj:*;
var someObj;
Uma variável sem tipo não é igual a uma variável do tipo Object. A principal diferença é que as variáveis sem tipo podem manter o valor especial
undefined
, enquanto que uma variável do tipo Object não pode.
Você pode definir suas próprias classes, usando a palavra-chave
class
. As propriedades de classe podem ser declaradas de três formas: as constantes podem ser definidas com a palavra-chave
const
, as variáveis são definidas com a palavra-chave
var
e as propriedades getter e setter são definidas usando os atributos
get
e
set
em uma declaração de método. Os métodos podem ser declarados com a palavra-chave
function
.
Uma ocorrência de uma classe é criada usando o operador
new
. O exemplo a seguir cria uma ocorrência da classe Date chamada
myBirthday
.
var myBirthday:Date = new Date();