« メソッドとプロパティ | メイン | クラスパス »

プロパティのインライン初期化

プロパティの初期値をコンストラクタ関数の引数で決めるのではなく、プロパティの宣言と同時に初期化することもできます。これをインライン初期化と呼びます。たとえば、先のMyClass01クラスの円の半径と回転角度をプロパティとして決定してしまうならば、クラス定義は次のようになります。

sample→ex04-01/MyClass02フォルダ

クラス定義ファイル:MyClass02.as
//MyClass02クラス
class MyClass02 {
//プロパティのインライン初期化
var r:Number = 100;//円の半径
var d:Number = 10;//回転速度
var mc:MovieClip;//対象のムービークリップインスタンス
//コンストラクタ
function MyClass02(target:MovieClip) {
mc = target;
}
//常に中心を向くように円周を回る
function circle(x:Number, y:Number):Void {
//d度ずつ回転
mc._rotation += d;
var rad = mc._rotation * Math.PI / 180;
//中心座標(x,y)、半径rの円のradラジアン回転した点の座標
mc._x = x + r * Math.cos(rad);
mc._y = y + r * Math.sin(rad);
}
}

投稿者 oshige : 2005年2月21日 11:16