0

我总是使用语法为 MovieCLips 创建附加属性

myMC.myProperty

没有任何声明...但是我只能将此方法与 MovieClips 一起使用。如果我想向按钮或任何不同类型的对象添加属性怎么办?我需要扩展课程吗?你能建议我怎么做吗?非常感谢

4

3 回答 3

2

您可以在运行时向影片剪辑添加属性,因为MovieClip它是dynamic类。如果类不是动态的,您应该扩展它以创建方法和属性。 阅读动态类

于 2012-05-24T09:26:56.197 回答
0
  1. 子类是主要解决方案。

  2. Next 仅适用于 mx 组件(flex sdk 3)。大多数组件都有data : Object属性,您可以自由地使用它来存储数据。

  3. 猴子修补有时是唯一的方法。它允许您向 flex sdk 类添加自定义属性。我认为你不应该在你的情况下使用它。但是我用它来改变被flex sdk 中的private关键字锁定的核心逻辑。

希望有帮助。

于 2012-05-24T14:20:07.653 回答
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

于 2012-05-24T09:59:53.860 回答