使用 getter/setter 方法定义参数

定义组件参数最简单的方法是添加一个使该参数成为可检查参数的公共成员变量。这可以通过使用"组件"检查器中的 Inspectable 标记来实现,也可以按如下所示添加 Inspectable 变量:

[Inspectable(defaultValue="strawberry")]
public var flavorStr:String;

但是,如果使用某一组件的代码修改了 flavorStr 属性,则该组件通常必须执行一个动作对其自身进行更新以响应该属性更改。例如,如果将 flavorStr 设置为"cherry",则组件可以使用一个樱桃图像重绘自身,而不是使用默认的草霉图像。

对于常规成员变量,则不自动向组件发送成员变量的值已更改的通知。

getter/setter 方法是一种检测组件属性更改的简单方法。声明 getter/setter 方法,而不使用 var 声明常规变量,如下所示:

private var __flavorStr:String = "strawberry";

[Inspectable(defaultValue="strawberry")]

public function get flavorStr():String{
    return __flavorStr;
}
public function set flavorStr(newFlavor:String) {
    __flavorStr = newFlavor;
    invalidate();
}

invalidate() 调用使组件使用新风格重绘自身。这就是对 flavorStr 属性使用 getter/setter 方法,而不是使用常规成员变量的优点。请参阅定义 draw() 方法

要定义 getter/setter 方法,请记住以下要点:

Getter 和 setter 通常结合标记,用于对"属性"检查器和"组件"检查器中可见的属性进行定义。有关详细信息,请参阅添加组件元数据

有关 getter/setter 方法的更多信息,请参阅"学习 Flash 中的 ActionScript 2.0"中的关于 getter 和 setter 方法