我总是使用语法
为MovieCLips创建其他属性myMC.myProperty
没有任何声明...但我只能使用此方法与MovieClips ..如果我想要一个属性添加到按钮或任何不同类型的对象?我需要延长课程吗?你能告诉我怎么样?非常感谢
答案 0 :(得分:2)
您可以在运行时向movieclips添加属性,因为MovieClip
是dynamic
类。如果类不是动态的,则应扩展它以创建方法和属性。
Read about dynamic classes
答案 1 :(得分:0)
我倾向于为几乎所有东西创建自定义类
我会扩展相关课程并为您的新房产设置private var
。然后,您可以将值传递给构造函数或添加getter / setter方法以在外部调用
private function _myProperty:int;
public function get myProperty():int
{
return _myProperty;
}
public function set myProperty(newVal:int):void
{
_myProperty = newVal;
}
Getter / setter方法添加几行代码可能看似不必要,但是当您发现正在设置属性并且您不知道原因时,在大项目中,您可以在set myProperty
中添加一个断点
答案 2 :(得分:0)
子类是主要解决方案。
下一步仅适用于mx组件(flex sdk 3)。 大多数组件都有 data:Object 属性,您可以自由地使用它来存储数据。
Monkey patching有时是唯一的出路。它允许您向flex sdk类添加自定义属性。我不认为你应该在你的情况下使用它。但是我用它来改变flex sdk中 private 关键字锁定的核心逻辑。
希望有所帮助。