Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 の学習 > クラス > カスタムクラスファイルの記述 | |||
次の例では、クラスファイルの各部分を検証します。クラスを記述する方法と、Flash で使用するためにクラスを変更して拡張する方法について学習します。クラスの各部分と、その読み込み方法、および Flash でカスタムクラスファイルを使用する上での関連情報についても学習します。
まず、簡単なクラスから始めます。次の例では、UserClass という簡単なクラスの構成を示します。
クラスを定義するには、アクションパネルで記述しているスクリプト内ではなく、外部のスクリプトファイルで class キーワードを使用します。このクラス定義の構造は、インターフェイスファイルにも当てはまります。この構造を次にまず示し、続いて、クラスの作成について説明します。
import ステートメントを追加します。
class UserClass {...}
public function UserClass(username:String, password:String) {...}
次の例では、User という名前の簡単な ActionScript クラスの場合を示します。
/**
User クラス
作成者 : John Doe
バージョン : 0.8
変更日 : 08/21/2005
著作権 : Adobe Systems Incorporated
このコードでは、新規ユーザーの作成とユーザーログイン情報の指定ができるカスタム User クラスを定義する。
*/
class User {
// プライベートインスタンス変数
private var __username:String;
private var __password:String;
// コンストラクタステートメント
public function User(p_username:String, p_password:String) {
this.__username = p_username;
this.__password = p_password;
}
public function get username():String {
return this.__username;
}
public function set username(value:String):Void {
this.__username = value;
}
public function get password():String {
return this.__password;
}
public function set password(value:String):Void {
this.__password = value;
}
}
前述のコードは、クラス名、作成者、バージョン、最終修正日、著作権情報、クラスの機能概要を示す標準的な "ドキュメントコメント" で始まります。
User クラスのコンストラクタステートメントには p_username パラメータと p_password パラメータがあり、クラスのプライベートインスタンス変数である __username と __password にコピーされます。クラス内のその他のコードでは、プライベートインスタンス変数の getter プロパティと setter プロパティを定義します。読み取り専用プロパティを作成する場合は、getter 関数を定義し、setter 関数は定義しません。たとえば、ユーザー名を定義した後に変更できないようにするには、User クラスファイルの username setter 関数を削除します。
import User;
var user1:User = new User("un1", "pw1");
trace("Before:");
trace("\t username = " + user1.username); // un1
trace("\t password = " + user1.password); // pw1
user1.username = "1nu";
user1.password = "1wp";
trace("After:");
trace("\t username = " + user1.username); // 1nu
trace("\t password = " + user1.password); // 1wp
ここで作成した User クラスは非常に単純なので、Flash ドキュメントの ActionScript も単純明快なものになっています。コードの第 1 行では、カスタム User クラスを Flash ドキュメントに読み込みます。User クラスを読み込むと、そのクラスをカスタムデータ型として使用することができます。
User クラスの単一インスタンスが定義され、user1 という名前の変数に割り当てられます。user1 User オブジェクトに値を代入し、un1 の username を定義し、pw1 の password を定義します。次の 2 つの trace ステートメントでは、User クラスの getter 関数を使用して、user1.username と user1.password の現在値をストリングで表示します。その次の 2 行では、User クラスの setter 関数を使用して、username 変数と password 変数に新しい値を設定します。最後に、username と password の値を [出力] パネルに表示します。この trace ステートメントでは、setter 関数を使用して設定した変更後の値が表示されます。
trace ステートメントの結果が [出力] パネルに表示されます。次の例では、これらのファイルをアプリケーションで使用します。
XML データとカスタムクラスファイルを使用して動的にメニューを作成する方法を示すサンプルについては、Flash サンプルページ (www.adobe.com/go/learn_fl_samples_jp) を参照してください。このサンプルでは、ActionScript XmlMenu() コンストラクタを呼び出し、XML メニューファイルへのパスおよび現在のタイムラインへの参照をパラメータとして渡します。"Samples" zip ファイルをダウンロードし解凍して、"ActionScript2.0/XML_Menu" フォルダに移動して次のサンプルにアクセスします。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000772.html