getter 和 setter
getter 和 setter 是表现得像属性的方法。它意味着它们具有功能结构,但在使用时,它们与属性相同:
吸气功能的结构 :
他们应该在 function
关键字之后和函数名之前有 get
关键字,没有参数,指定了返回类型,并且必须返回一个值:
public function get myValue():Type{
//anything here
return _desiredValue;
}
语法 :
要从 getter 获取值,语法与从属性获取值相同(不使用 parens ()
)。
trace(myValue);
setter 函数的结构 :
他们应该在 function
关键字之后和函数名之前有 set
关键字,有一个参数,没有值返回。
public function set myValue(value:Type):void{
//anything here
_desiredProperty=value;
}
语法 :
要设置 setter 的值,语法与将值设置为属性相同(使用等号 =
然后使用值)。
myValue=desiredValue;
为一个值设置一个 getter 和 setter :
注意:如果仅创建 getter 或仅创建具有名称的 setter,则该属性将是只读或仅设置。
要使属性具有可读性和可读性,应创建一个 getter 和 setter:
同名
2.相同类型(getter 的返回值类型和 setter 的输入值类型(参数),
注意:getter 和 setter 的名称不应与其他属性或方法相同。
使用 getter 和 setter:
使用 getter 和 setter 而不是普通的属性有很多优点:
1. 制作只读或仅设置属性:
例如显示对象中的子节点数。它不能是可以选择的。
2. 访问私有属性:
一个例子:
private var _private:Type=new Type();
//note that function name "private" is not same as variable name "_private"
public function get private():Type{
return _private;
}
3. 在设置值后需要进行一些更改时:
在此示例中,必须通知更改此属性:
public static function set val:(input:Type):void{
_desiredProperty=input;
notifyValueChanged();
}
和许多其他用法