オブジェクトインスタンスの作成

当然ですが、ActionScript でオブジェクトを使用する前に、まずオブジェクトが存在している必要があります。オブジェクト作成の一環として、変数の宣言がありますが、変数の宣言により作成されるのは、コンピュータメモリ内の空き領域のみです。変数に実際の値を割り当てる必要があります。すなわち使用または操作する前に、オブジェクトを作成し、これを変数に格納します。オブジェクト作成のプロセスは、オブジェクトの "インスタンス化"、すなわち特定のクラスのインスタンス作成として知られます。

オブジェクトのインスタンスを作成する場合、ActionScript をまったく使用しないという簡単な方法もあります。Flash では、ムービークリップシンボル、ボタンシンボル、またはテキストフィールドをステージに配置し、プロパティインスペクタでインスタンス名を割り当てた場合、自動的にそのインスタンス名で変数が宣言され、オブジェクトインスタンスが作成され、そのオブジェクトが変数に格納されます。同様に、Adobe Flex Builder では、アドビ システムズ社が提供する 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 演算子を使用したオブジェクトの作成は、多くの場合 "クラスのコンストラクタの呼び出し" と呼ばれます。コンストラクタは、クラスのインスタンスの作成プロセスの一環として呼び出される特別なメソッドです。インスタンスをこの方法で作成する場合、クラス名の後に括弧を配置し、場合によってはパラメータ値を指定します。この 2 つの作業はメソッドを呼び出す場合にも行います。

メモ

 

文字式を使用したインスタンスの作成が可能になるデータの場合でも、オブジェクトインスタンスの作成には new 演算子を使用できます。たとえば、次の 2 行のコードは、完全に同じ操作を行います。

var someNumber:Number = 6.33;

var someNumber:Number = new Number(6.33);

new ClassName() を使用したオブジェクトの作成方法に慣れておく必要があります。視覚的に表現されない (したがって Flash ステージやデザインモードの Flex Builder の MXML エディタにアイテムを配置して作成できない) ActionScript データ型のインスタンスの作成が必要になる場合、このために実行できる方法は、ActionScript で new 演算子を使用してオブジェクトを直接作成する方法のみです。

特に Flash では、new 演算子は Library で定義され、ステージに配置されていないムービークリップシンボルのインスタンスの作成にも使用できます。詳細については、ActionScript での MovieClip オブジェクトの作成を参照してください。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000024.html