クラスとパッケージの読み込み

別のスクリプト内のクラスを参照するには、そのクラス名の前に、クラスのパッケージ名を接頭辞として付ける必要があります。クラス名とパッケージパスを組み合わせたものが、そのクラスの完全修飾クラス名になります。クラスがクラスパスディレクトリ内のサブディレクトリではなく、最上位のクラスパスディレクトリに置かれている場合は、完全修飾クラス名は単なるクラス名になります。

パッケージパスを指定するときは、ドット (.) 表記でディレクトリ名を区切ります。パッケージパスは階層になっており、各ドットはディレクトリのネストを表します。たとえば、ClassName という名前のクラスを作成し、それをクラスパス内の com/adobe/docs/learnAs2 パッケージに置いたとします。そのクラスのインスタンスを作成するとき、完全修飾クラス名を指定することができます。

次の例のように、変数の型を指定するときにも、この完全修飾クラス名を使用できます。

var myInstance:com.adobe.docs.learnAs2.ClassName = new com.adobe.docs.learnAs2.ClassName();

スクリプトにパッケージを読み込むには import ステートメントを使用できます。このとき、クラスの完全修飾名の代わりに簡略名を使用できます。また、ワイルドカード文字 (*) を使用して、パッケージ内のすべてのクラスを読み込むこともできます。ワイルドカード文字を使用すると、クラスを使用するたびに完全修飾クラス名を指定する必要がありません。

たとえば、次の例に示すように、スクリプト内で import ステートメントを使用して、このクラスを読み込んだとします。

import com.adobe.docs.learnAs2.util.UserClass;

次の例のように、このスクリプトの以降の部分では、UserClass クラスを次のような簡略名で参照することができます。

var myUser:UserClass = new UserClass();

ワイルドカード文字 (*) を使用すると、特定のパッケージ内のすべてのクラスを読み込むことができます。たとえば、"ClassA.as" と "ClassB.as" という 2 つの ActionScript クラスファイルを含む com.adobe.utils というパッケージがあるとします。別のスクリプト内で次のようなワイルドカード文字を使用すると、このパッケージ内の両方のクラスを読み込むことができます。

import com.adobe.utils.*;

次のように、このスクリプト内でいずれかのクラスを直接参照できるようになります。

var myA:ClassA = new ClassA();
var myB:ClassB = new ClassB();

import ステートメントは、それを呼び出している現在のスクリプト (フレームまたはオブジェクト) にのみ適用されます。読み込んだクラスをスクリプト内で使用しなかった場合、そのクラスは、最終的な SWF のバイトコードには含まれません。したがって、FLA ファイルの import ステートメントでロードする SWF ファイルから、そのクラスを利用することはできません。

メモ

 

次の実習は、例 : カスタムクラスの記述の例に続く、例 : Flash でのカスタムクラスファイルの使用の一部です。ClassA と ClassB のクラスファイルが必要な場合は、www.helpexamples.com/flash/learnas/classes/ からダウンロードできます。

クラスまたはパッケージを読み込むには :

  1. "package_test.fla" という名前のファイルを開きます。
  2. 次のコードをスクリプトウィンドウに入力します。
    import com.adobe.utils.*;
    var a = new ClassA(); // ClassA のコンストラクタ
    var b = new ClassB(); // ClassB のコンストラクタ
    

    上記のコードブロックでは、まず、ワイルドカード文字 (*) を使用して、com.adobe.utils パッケージ内にある各クラスを読み込みます。次に、ClassA クラスの新規インスタンスを作成します。このインスタンスは、コンストラクタメソッドでメッセージを [出力] パネルに表示します。デバッグメッセージを [出力] パネルに表示するための ClassB クラスのインスタンスも作成します。

  3. 変更内容を Flash ドキュメントに保存してから、次に進みます。

これらのクラスファイルを Flash ファイルで使用する方法については、クラスのインスタンスの作成例を参照してください。


 

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

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