AS3クラスを定義する場合、暗黙のゲッターとセッターを使用して、単純なプロパティのget/set操作の関数を呼び出すことができます。たとえば、次のような温度クラスを作成できます。
public var celsius:Number;
public function get fahrenheit():Number {
return 9/5 * celsius + 32;
}
public function set fahrenheit(fahrenheit:Number):void {
celsius = 5/9 * (fahrenheit - 32);
}
次に、他のプロパティと同じように華氏で温度を取得/設定できます。
temperature.fahrenheit = 69.2;
これは本当に便利ですが、私が知る限り、クラス定義で宣言されたプロパティに対してのみ機能します。ただし、動的に作成されたプロパティでゲッターとセッターを定義できると非常に便利です。このようなもの:
var obj:Object = new Object();
obj._foo = "bar";
obj.foo = function get () { return this._foo; };
obj.foo = function set (foo:String) { this._foo = foo; };
残念ながら、そのような構文は存在しないので、私の質問はこれです:AS3でプロパティゲッターとセッターを動的に作成することは可能ですか?