コンストラクタ関数の記述

クラス宣言の記述方法については、クラスファイルの作成とパッケージ化で学習しました。ここでは、クラスファイルのコンストラクタ関数を記述します。

メモ

 

コメント、ステートメント、宣言の記述方法についても後で学習します。

コンストラクタとは、クラスのプロパティとメソッドを初期化 (定義) する関数です。コンストラクタとは、クラスと同じ名前を持つクラス定義内の関数です。たとえば、次のコードでは Person クラスを定義し、コンストラクタ関数を実装しています。OOP では、コンストラクタ関数でクラスの個々の新しいインスタンスを初期化します。

クラスのコンストラクタは、new 演算子を使用してクラスのインスタンスを作成するときに、自動的に呼び出される特殊な関数です。コンストラクタ関数の名前は、それを含んでいるクラスの名前と同じになります。たとえば、前述の Person クラスには、次のコンストラクタ関数が含まれています。

// Person クラスのコンストラクタ関数
public function Person (uname:String, age:Number) {
  this.__name = uname;
  this.__age = age;
}

コンストラクタ関数を記述する際には、次の点に注意してください。

"コンストラクタ" という用語は、通常、特定のクラスに基づいたオブジェクトを作成する (インスタンス化する) ときにも使用されます。次のステートメントでは、トップレベル Array クラスとカスタム Person クラスのコンストラクタ関数を呼び出しています。

var day_array:Array = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
var somePerson:Person = new Person("Tom", 30);

次に、コンストラクタ関数と呼ばれる特別な関数を追加します。

メモ

 

次の実習は、例 : カスタムクラスの記述の一部です。この例を実施する必要がない場合は、www.helpexamples.com/flash/learnas/classes/ からクラスファイルをダウンロードしてもかまいません。

コンストラクタ関数をクラスファイルに追加するには :

  1. Flash オーサリングツールで "ClassA.as" クラスファイルを開きます。
  2. 次のコードに合致するように、既存のクラスファイルを変更します (太字の部分を変更します)。
    class com.macromedia.utils.ClassA {
        function ClassA() {
            trace("ClassA constructor");
        }
    }
    

    上記のコードでは、ClassA クラスのコンストラクタメソッドを定義しています。このコンストラクタでは、クラスの新規インスタンスが作成されたことを通知する簡単なストリングを [出力] パネルに表示します。

  3. Flash オーサリングツールで "ClassB.as" クラスファイルを開きます。
  4. 次のコードに合致するように、クラスファイルを変更します (太字の部分を変更します)。
    class com.macromedia.utils.ClassB {
        function ClassB() {
            trace("ClassB constructor");
        }
    }
    
  5. 次に進む前に、両方の ActionScript ファイルを保存します。

これ以降のクラスファイル記述方法については、メソッドとプロパティの追加を参照してください。


 

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

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