【问题标题】:Get/set functions on static properties获取/设置静态属性的函数
【发布时间】:2012-02-07 16:24:07
【问题描述】:

我一直在学习 AS3 中的封装以及使用 get/set 函数来使变量(或看起来是)只读的。我可以让它与实例变量一起工作,但不能与静态变量一起工作。我找到了this,这似乎表明可以在静态属性上使用get/set 函数,但是编译器一直告诉我我有重复的函数声明。这基本上就是我正在使用的:

package {
    public class Foo {
        protected static var bar:int = 0;

        public static function get bar():int {return bar;}
    }
}

【问题讨论】:

  • 你不能使用 variablefunction 与某些名称 bar

标签: actionscript-3 static-methods


【解决方案1】:

您不能创建与变量同名的函数(包括获取或集合),否则您将重新启动该变量。

package {
    public class Foo {
        protected static var myVar:int = 0;

        public static function get theVar():int {return myVar;}
    }
}

【讨论】:

    【解决方案2】:

    您可以采用的一个好的做法是将_bar 称为您要通过getter 和setter 修改的“内部”变量,并将它们简单地称为bar。

    例如:

    package {
        public class Foo {
             protected static var _bar:int = 0;
    
             public static function get bar():int {
                   return _bar;
             }
         }
    }  
    

    【讨论】:

    • +1 表示下划线编码约定,但我主要仅将下划线用于私有属性。
    猜你喜欢
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 2012-06-15
    相关资源
    最近更新 更多