2011-04-20 57 views
1

我想擴展或複製PopUpManager類以添加跟蹤窗口數量的功能。 我只是想添加一個簡單的windowCount ++,當窗口被添加時,以及windoCount--當它被移除時。難以複製/擴展單例管理器類

問題是PopUpManager是一個Singleton類......我無法通過擴展它來正常工作。現在我試圖從PopUpManager.as文件複製代碼,並將其變量添加到其功能的末尾。它似乎並沒有工作,雖然它說我的屬性是未定義的,即使它們是在構造函數之上聲明的。

我想我會做一個PopUpManagerImpl.as的副本,因爲這似乎很多業務所在(PopUpManagerImpl extends EventDispatcher implements IPopUpManager)會允許我有權訪問該變量?並且我應該忽略管理器並將其放入實現類中?

回答

4

這裏是一個關於Using the Flex Singleton register的鏈接,當我發現自己處於相同的情況時,它幫助我。

我希望你也能從中得到啓發。

+0

但是,個人而言,我絕不會試圖重寫Flex的一些內部單例。只是'包裝'在另一個班級。 – 2011-04-20 12:24:37

1

你可能沒有聲明你的屬性是靜態的。 PopUpManager將使用所有靜態方法 - 這就是爲什麼它的工作你使用的語法,如:

PopUpManager.createPopUp(... 

,而不是

var popUpManager:PopUpManager = new PopUpManager(); 
popUpManager.createPopUp(... 

這意味着,在PopUpManager中聲明的任何變量也需要是靜態的,從而可以在課堂上進行訪問。

public static var windowCount:int