In ActionScript 3.0 ogni oggetto è definito da una classe. Una classe può essere considerata come un modello di base per un tipo di oggetto. Le definizioni di classe possono riguardare variabili e costanti, che memorizzano valori di dati, oppure metodi, ovvero funzioni che incorporano un comportamento associato alla classe. I valori memorizzati nelle proprietà possono essere
valori di base
(primitive values) o altri oggetti. I valori di base sono numeri, stringhe o valori booleani.
ActionScript contiene una serie di classi incorporate che fanno parte del linguaggio di base. Alcune di tali classi, quali Number, Boolean e String, rappresentano i valori di base disponibili in ActionScript. Altre, come ad esempio le classi Array, Math e XML, definiscono oggetti complessi.
Tutte le classi, incorporate o definite dall'utente, derivano dalla classe Object. Per i programmatori che hanno già utilizzato ActionScript in precedenza è importante notare che il tipo di dati Object non è più quello predefinito, anche se tutte le altre classi derivano ancora da esso. In ActionScript 2.0 le due righe di codice seguenti erano equivalenti perché l'assenza di un'annotazione di tipo comportava che una variabile fosse del tipo Object:
var someObj:Object;
var someObj;
ActionScript 3.0 invece introduce il concetto di “variabili senza tipo”, che possono essere indicate nei due modi seguenti:
var someObj:*;
var someObj;
Una variabile senza tipo non è la stessa cosa di una variabile del tipo Object. La differenza fondamentale consiste nel fatto che le variabili senza tipo possono contenere il valore speciale
undefined
, mentre una variabile del tipo Object non può.
Si possono definire classi personalizzate utilizzando la parola chiave
class.
Sono disponibili tre metodi per dichiarare le proprietà della classe: le constanti possono essere definite con la parola chiave
const
, le variabili vengono definite con la parola chiave
var
e le proprietà di acquisizione e impostazione sono definite utilizzando gli attributi
get
e
set
in una dichiarazione di metodo. I metodi vengono dichiarati con la parola chiave
function
.
Un'istanza di una classe viene creata utilizzando l'operatore
new.
Nell'esempio seguente viene creata un'istanza della classe Date denominata
myBirthday
.
var myBirthday:Date = new Date();