除了可能的類名衝突之外,在ActionScript 3中創建一個名爲「Tracer」的頂級(無包名)類會有什麼問題或副作用嗎?我想保持這樣一個頂級的類,所以我不必在我的代碼中使用import語句。到目前爲止,我沒有遇到任何問題。在AS3中創建頂級類的副作用?
回答
最佳做法是在適當時使用包裝。如果您正在構建的是實用程序,最好將它放在一個util
包中,而不要放在頂層。
如果你正在開發的東西,可以被看作是核心功能,有在實施頂級成員沒有問題。
計劃的最後一件事是可重用性。如果你知道你正在構建一個你永遠不會重用的東西(最終實現類),不要太擔心它是一個頂級類,因爲它應該繼續工作,一旦你編譯了swf 。
相反,如果你讓你想重用爲框架一個功能,你可能會更好過把它作爲未來發展的靈活性框架級別成員。
zzzzBov的回答是很好的建議。但要明確回答你的問題:可能的名稱衝突確實是你正在做的唯一的副作用。
+1。謝謝你的明確答案。其他回答說,沒有其他問題,但有條件的語氣。這是很好的知道。愛你的壁虎btw! – Triynko 2010-12-16 15:33:50
我即將描述一個我想到的可能的問題,並且我發佈它,因爲它在技術上不是名稱衝突(字母大小寫不同)。
假設您有一個頂級類,除了字母大小寫(例如「flash」,「fl」,「com」或自定義程序包)之外,還可以共享頂級程序包的名稱, 。如果你輸入類似「var x:」的東西,然後嘗試輸入完全限定的類名...那麼FlashDevelop等程序中的代碼完成引擎將默認爲「Flash」類(如果存在),而不是您可能正嘗試輸入的「flash」程序包。這非常刺激,主要是因爲它有點意義,它的功能是這樣的,它必須代碼完成其中一個或另一個:所以要非常小心地命名頂級類的東西是拼寫(頂級或其他)
我在自定義軟件包中使用了一個名爲Vector的類,並且使用了flash 9,並且所有工作都很完美,直到我必須使用flash 10來保存文件,問題是我無法創建我的類Vector的實例,由於錯誤TypeError:錯誤#1007:在非構造函數上嘗試實例化修復它的唯一方法是更改AS類的名稱,幸運的是後端類的綁定適用於我的Java類Vector。
似乎Flash並未照顧頂級類的類包。
我希望這可以幫助某人,即使這個問題的日期差不多是2年前。
- 1. 在AS3中創建FLVPlayback不起作用
- 2. OCaml中的副作用和頂級表達式
- 3. 如何在enterprice版本中創建一個新的頂級類
- 4. 在AS3中創建現有動畫片段的副本
- 5. 創建的類似於AS3
- 6. 在AS3和AIR中創建文檔類
- 7. 在AS3中創建類和屬性
- 8. 使用MySQL創建頂級列表
- 9. 創建類型副本
- 10. 在班級方法中創建並返回對象的副本
- 11. Flex/AS3動態創建類
- 12. 創建副本在Linux中
- 13. 創建頂級故事的幻燈片
- 14. 如何在PHP中創建用戶頂級列表?
- 15. 在AS3中創建障礙
- 16. 在AS3中創建圖像
- 17. 在plone中創建頂級私人文件夾中的工作流程4.1
- 18. 在rx中創建資源的副作用(反應式擴展)
- 19. As3創建和使用外部類
- 20. 頂級類Instantiation
- 21. 創建頂級類別後,類別本身就是其中的一部分
- 22. 如何在Wordpress中創建一個新的頂級菜單?
- 23. 在Visual Studio中創建一個新的頂級菜單
- 24. 在PHP中創建多級類
- 25. 頂級作業
- 26. 創建副本
- 27. 在Livy上創建另一個副本作爲副本
- 28. grails-doc在默認包中創建我的類的副本
- 29. 創建GIT倉庫的工作副本
- 30. 如何在OrientDB中創建頂點並創建頂點
謝謝。 Tracer替換了跟蹤命令。跟蹤器跟蹤,重新路由,記錄和分派事件以調用Tracer.write(... args)和Tracer.writeError(e:Error)。它是一個框架(基於閃存的操作系統[shell/gui/dock-controls/net-transaction等])的一部分,編譯成可重用的SWC。 Tracer是一種特殊情況,因爲它可以在任何地方暫時使用,所以我認爲它作爲不需要導入語句的頂級類是有意義的。如果感興趣的話,我在這裏發佈了Tracer的實現:http://stackoverflow.com/questions/715738/creating-a-custom-trace-class-in-as3/4453850#4453850 – Triynko 2010-12-15 23:12:34
有標記的答案:「...這裏沒有問題實施頂級會員「。 [除了我提到的可能的名稱衝突] – Triynko 2010-12-16 15:30:34