« ダイナミッククラスを作る | メイン | クラスメンバーを追加する »

インスタンスメンバーを追加する

たとえば、次のフレームアクションをテストするとMyClassクラスで作ったインスタンスaObj、bObjのそれぞれにpriceプロパティが追加されて150と200の値が割り当てられたことがわかります。

フレームアクション:myclasstest1.fla
//インスタンスを作る
var aObj:MyClass = new MyClass();
var bObj:MyClass = new MyClass();
//インスタンスプロパティを追加する
aObj.price = 150;
bObj.price = 200;
//追加したインスタンスプロパティを確認する
trace(aObj.price); // 出力→ 150
trace(bObj.price); // 出力→ 200

続けて次のようにaObjにインスタンスメソッドurine()を追加し、試しにaObjとbObjの両方のインスタンスでurine()を実行します。

//インスタンスメソッドを追加する
aObj.urine = function() {
var v = this.price * 1.2;
return v;
};
//追加したインスタンスメソッドを試す
trace(aObj.urine());// 出力→ 180
trace(bObj.urine());// 出力→ undefined

確かにaObjインスタンスにはurine()メソッドが追加されていますが、bObjインスタンスではurine()メソッドが利用できません。インスタンスメンバーというものは、プロパティもメソッドもインスタンスごとに保有しているものであることがこれでもわかります。

投稿者 oshige : 2005年2月24日 10:43