0

我有一个当前没有扩展任何东西的自定义类(它用于在数据库上执行特定类型的查询),但我需要它来向其父类发送事件。但是,其中没有定义 addEventListener。

我注意到很多主要的 Flash 类都扩展了 EventDispatcher,如果没有其他选择,我应该这样做吗?是否有任何必须与其他类通信的类扩展 EventDispatcher?

4

1 回答 1

3

你可以做几件事,你绝对不限于使用事件。事件很好,因为它解耦了代码,并允许许多对象对单个事件采取行动,而不需要分派事件的对象关心谁在听,或者他们在做什么。如果您想分派事件,请扩展 EventDispatcher,或将其作为对象的属性。(如果您已经在扩展另一个类,有时您可能需要将其定义为属性。)

或者,您的对象可以维护对另一个对象的引用,并在其上显式调用方法。在这种情况下,您不需要扩展 EventDispatcher,但您必须存储对要与之通信的所有其他对象的引用。

两种解决方案都实现了相同的最终结果,这取决于情况和/或偏好。

我希望这会有所帮助。

于 2011-04-05T01:28:51.423 回答