微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

难以复制/扩展单例管理器类

如何解决难以复制/扩展单例管理器类

| 我想扩展或复制PopUpManager类以添加跟踪窗口数的功能。 我只想在添加窗口时添加一个简单的windowCount ++,在删除窗口时添加windoCount。 问题是PopUpManager是Singleton类...我无法通过扩展使其正常工作。现在,我试图从PopUpManager.as文件复制代码,然后将变量添加到其功能的末尾。它似乎没有用,因为它说我的属性是未定义的,即使它们是在构造函数之上声明的。 我在想我必须制作PopUpManagerImpl.as的副本,因为这似乎使很多业务驻留(
PopUpManagerImpl extends Eventdispatcher implements IPopUpManager
)允许我访问该变量?我应该忽略管理器,而是将其放在实现类中吗?

解决方法

这是有关使用Flex Singleton寄存器的链接,当发现自己处于相同情况时,该链接对我有所帮助。 希望您也能从中得到启发。,您可能没有将自己的属性声明为静态。 PopUpManager使用所有静态方法-这就是为什么使用它的语法如下:
PopUpManager.createPopUp(...
代替
var popUpManager:PopUpManager = new PopUpManager();
popUpManager.createPopUp(...
这意味着PopUpManager中声明的所有变量也必须是静态的,以便在类级别可访问。
public static var windowCount:int

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。