Macromedia Flash非公式テクニカルノート 8. クラスのインポート
Platform: All 他のスクリプトのクラスを参照するには、クラス名の前にクラスのパッケージパスを指定する必要があります。クラス名とパッケージパスを組合わせたものが、「完全な記述によるクラス名」(fully qualified class name)になります。クラスがクラスパスフォルダの最上層(top-level)にあり、クラスパスフォルダのサブフォルダ内でなければ、完全な記述によるクラス名はクラス名のみになります。 パッケージパスを指定するには、ドットシンタックスを使ってパッケージフォルダ名を区切ります。パッケージパスは階層構造で、各ドットが内包(ネスト: nest)されたフォルダを意味します。たとえば、Dataという名前のクラスを作成して、クラスパス内のcom/network/packageに配置したとします。このクラスのインスタンスを作成するには、完全な記述によるクラス名を以下のように指定します。 var dataInstance = new com.network.Data(); 完全な記述によるクラス名を使って、変数の型づけをすることもできます。 var dataInstance:com.network.Data = new Data(); 'import'ステートメントを使うと、パッケージをスクリプトにインポートすることができます。そうすると、パッケージパスを省略したクラス名を使うことができ、完全な記述によるクラス名を使用する必要がありません。また、ワイルドカード(*)を使って、パッケージ内のすべてのクラスをインポートすることもできます。 たとえば、UserClassという名前のクラスを作成して、パッケージフォルダパスmacr/util/usersに格納したとします。 // macr/util/users/UserCass.asファイル内 そして、他のスクリプトで、このクラスを'import'ステートメントを使ってインポートします。 import macr.util.users.UserClass; その後同じスクリプト中では、クラスをその名前だけで参照することができます。 var myUser:UserClass = new UserClass(); ワイルドカード(*)を使えば、特定のパッケージ内のクラスすべてをインポートすることもできます。たとえば、macr.utilという名前のパッケージがあって、2つのActionScriptクラスファイルfoo.asとbar.asが格納されていたとします。他のスクリプトから、パッケージ内の両方のクラスを、ワイルドカードの使用によりつぎのようにインポートすることができます。 import macr.util.*; 同じスクリプト中では、fooとbarのどちらのクラスも直接参照することができます。 'import'ステートメントは、それを呼出したスクリプト(フレームまたはオブジェクト)内でのみ有効です。インポートしたクラスがスクリプトで使用されなかった場合、そのクラスは書出したSWFのバイトコードには含まれません。また、そのクラスは、'import'ステートメントが記述されたFLAファイルから読込むSWFファイルで使用することもできません。なお、'import'の項をご参照ください。 出典 _____ Copyright © 2001-2003 Fumio Nonaka. All rights reserved. |
|||