0

このプライベート変数、たとえば _var:int を取得しました。これにはセッターとゲッターがあります。ここまでは順調ですね。

var の初期値は 500 です。

var -= 5; を実行すると var から 5 を減算する代わりに、505 を減算します。getter にブレークポイントを配置し、実際にそこに移動しています。

では、セッターとゲッターに関する私の理解は不十分ですか、それともこの動作は論理的なものではありませんか?

ありがとう。

4

1 に答える 1

2

varは制限されたキーワードであるため、質問の簡単な例としてvarを使用していると仮定します。

以下は、ActionScriptでセッターとゲッターを使用する方法の例です。

var bar:Bar = new Bar();
trace(bar.foo); //500
bar.foo -= 5;
trace(bar.foo); //495


package
{   
    //Class
    public class Bar
    {
        //Variables
        private var _foo:int;

        //Constructor
        public function Bar()
        {
            _foo = 500;
        }

        //Set Foo
        public function set foo(value:int):void
        {
            _foo = value;
        }

        //Get Foo
        public function get foo():int
        {
            return _foo;
        }
    }
}

関数のシグネチャをsetFoo(value:int):voidおよびgetFoo():intに変更することで、 setおよびgetキーワードの使用を回避することもできます。一部の開発者はこのアプローチを好みます。これは、関数を明示的に呼び出すと追加のプログラミングが提案されるのに対し、従来のActionScriptセッターとゲッターはそうではないことがより明白だからです。

于 2013-01-12T01:13:04.350 に答える