0

コードをクラスに分割しようとしています。しかし、本当に私を悩ませている問題があります。関数のクラスを作成すると、独自のステージが与えられます。このような

dragf:Dragfunctions = new Dragfunctions(this)

クラスではこれを使用します

var stage:Object;

    public function Dragfunctions(stage:Object) 
    {
            this.stage = stage;
    }

ご覧のとおり、stage.var1 = "hi" を使用してステージの変数を呼び出すことができるようになりましたが、その変数を何度も調整する必要があると、かなり面倒になります...

私が var1 を呼び出すと、stage を呼び出す必要なく、stage.var1 を意味することを彼が知っていることを伝える方法があります。これは:

var var1 = stage.var1 

そして使用する

stage.var1 = var1 

しかし、それも非常に不便です。より良い方法はありますか?

4

1 に答える 1

1

はい、getter と setter を使用します (フィールドのようなセマンティクスを提供しますが、割り当てが使用されている場合はカスタム ロジックを実行できます)。

function set var1(val:SomeType):void
{
    stage.var1=val;
}
function get var1():SomeType
{
    return stage.var1;
}
function doStuff():void
{
    var1=new SomeType();  //this results in call to "set" method
    var st:SomeType=var1; //this results in call to "get" method
}
于 2010-07-03T02:37:59.540 に答える