オブジェクトとクラスActionScript 3.0 では、各オブジェクトはクラスにより定義されます。 クラスは、オブジェクト型のテンプレートまたは設計図と考えることができます。 クラス定義には、データ値を保持する変数と定数、およびクラスにバインドされているビヘイビアーをカプセル化する関数であるメソッドを含めることができます。 プロパティに格納される値は、プリミティブ値または他のオブジェクトです。プリミティブ値とは、数値、ストリング、またはブール値です。 ActionScript には、コア言語の一部であるビルトインクラスが多数あります。 Number、Boolean、String などのビルトインクラスは、ActionScript で使用可能なプリミティブ値を表します。 Array、Math、XML などその他のクラスでは、より複雑なオブジェクトを定義します。 ビルトインおよびユーザー定義のすべてのクラスは、Object クラスから派生します。 旧バージョンの ActionScript に慣れているプログラマーは、他のクラスはすべて Object クラスから派生しますが、Object データ型はデフォルトのデータ型ではなくなったことに注意する必要があります。 ActionScript 2.0 では、型注釈が存在しないため、変数が Object 型であることを意味しているので、次の 2 行のコードが同等でした。 var someObj:Object; var someObj; ただし、ActionScript 3.0 は、型指定されていない変数の概念を導入しています。この変数は、次の 2 つの方法で指定することができます。 var someObj:*; var someObj; 型指定されていない変数は、Object 型の変数と同じではありません。 主な違いは、型指定されていない変数は特別な値 undefined を保持できますが、Object 型の変数はその値を保持できないことです。 class キーワードを使用して独自のクラスを定義することができます。クラスプロパティは 3 とおりの方法で宣言できます。定数を定義するには const キーワード、変数を定義するには var キーワード、getter および setter プロパティを定義するにはメソッド宣言で get および set 属性を使用します。メソッドを宣言するには、function キーワードを使用します。 クラスのインスタンスを作成するには、new 演算子を使用します。次の例では、myBirthday と呼ばれる Date クラスのインスタンスを作成します。 var myBirthday:Date = new Date(); |
|