建立物件實體

在 ActionScript 中使用物件之前,物件當然必須先存在。建立物件需要先宣告變數,但宣告變數只會在電腦記憶體中建立一個空位置。您必須將實際值指派給變數,也就是建立物件並將物件儲存在變數中,然後才能使用或操作變數。建立物件的程序稱為「實體化」物件,也就是建立特定類別的實體。

若要建立物件實體,有一個簡單的方法完全無須使用 ActionScript。在 Flash 中,當您將影片片段元件、按鈕元件或文字欄位放在「舞台」上,然後在「屬性」檢測器中指定其實體名稱時,Flash 就會自動宣告同名變數、建立物件實體,然後將該物件儲存在變數中。同樣地,在 Adobe Flex Builder 中,當您在 Adobe 的 Macromedia® MXML™ 中建立組件 (加上 MXML 標籤或將組件放在編輯器的「設計」模式中),並為該組件指定 ID (在 MXML 標記中或在 Flex 的「屬性」檢視中),該 ID 就會成為 ActionScript 變數的名稱,然後會建立組件的實體並將其儲存在變數中。

不過,您不一定要以視覺化的方式建立物件。您也可以只使用 ActionScript 的幾種方法來建立物件。首先,針對幾種 ActionScript 資料類型,您可以使用「常值運算式」(即直接寫入 ActionScript 程式碼的值) 建立實體。這裡是一些範例:

ActionScript 也可針對 Array、RegExp、Object 和 Function 資料類型定義常值運算式。如需這些類別的詳細資訊,請參閱處理陣列使用規則運算式,以及Object 資料類型

至於任何其它資料類型,若要建立物件實體,可以在類別名稱使用 new 運算子,如下所示:

var raceCar:MovieClip = new MovieClip();
var birthday:Date = new Date(2006, 7, 9);

使用 new 運算子建立物件的程序通常稱為「呼叫類別的建構函式」。「建構函式」是特殊的方法,會在建立類別的實體時呼叫。請注意,當您用這種方式建立實體時,會在類別名稱後面加上括號,而且有時會指定參數值,這是呼叫方法時同樣會做的兩個步驟。

注意

 

即使是可以使用常值運算式建立實體的資料類型,您還是可以使用 new 運算子建立物件實體。例如,下面兩行程式碼的作用完全相同:

var someNumber:Number = 6.33;

var someNumber:Number = new Number(6.33);

請務必熟悉使用 new ClassName() 的方式來建立物件。如果您需要針對沒有視覺表示的任何 ActionScript 資料類型建立實體 (即無法將項目放在 Flash 的「舞台」上或 Flex Builder 的 MXML 編輯器的「設計」模式中),就只能使用 new 運算子,直接在 ActionScript 中建立物件。

特別是 Flash,如果是在「元件庫」中定義但未放在「舞台」上的影片片段元件,也可以使用 new 運算子建立其實體。如需詳細資訊,請參閱使用 ActionScript 建立 MovieClip 物件


Flash CS3

 

有新的意見加入至這個頁面時,傳送電子郵件給我 | 意見報告

目前頁面: http://livedocs.adobe.com/flash/9.0_tw/main/00000024.html