物件和類別

在 ActionScript 3.0 中,每一個物件都是由類別所定義。類別可視為物件類型的範本或藍圖。類別定義可以包含變數和常數 (保存資料值) 以及方法 (封裝繫結至類別之行為的函數)。儲存在屬性中的值可以是「基本值」或其它物件。基本值是數字、字串或 Boolean 值。

ActionScript 包含一些屬於核心語言的內建類別。這些內建類別中,某些類別 (例如 Number、Boolean 和 String) 代表 ActionScript 中可用的基本值;其它例如 Array、Math 和 XML 類別,則會定義更為複雜的物件。

所有類別,不論是內建或使用者定義,都是衍生自 Object 類別。具有舊版 ActionScript 經驗的程式設計人員一定要注意:即使所有其它類別仍然衍生自 Object 資料類型,Object 資料類型已不再是預設資料類型。在 ActionScript 2.0 中,下列兩行程式碼是相等的,因為如果沒有類型註釋,就代表變數是 Object 類型:

var someObj:Object; 
var someObj;

然而 ActionScript 3.0 則導入不具類型的變數概念,可以用下列兩種方式指定:

var someObj:*; 
var someObj;

不具類型的變數與 Object 類型變數不同,最主要差別在於不具類型的變數可以保存特殊值 undefined,而 Object 類型的變數則不能保存該值。

您可以使用 class 關鍵字,自行定義類別。有三種方式可以用來宣告類別屬性:常數可以用 const 關鍵字定義、變數可以用 var 關鍵字定義,而 getter 和 setter 屬性則是在方法宣告中使用 getset 特質定義。此外,您也可以 function 關鍵字宣告方法。

類別實體是使用 new 運算子所建立。下列範例會建立 Date 類別的實體,稱為 myBirthday

var myBirthday:Date = new Date();