我有一個實用程序類,它不包含任何數據成員,只是通過其方法提供一些服務。在這種情況下,哪種方法更好一些,用所有靜態方法創建一個類,或者用普通方法創建一個類,並通過創建類的對象來調用它們?這兩種方法的優缺點是什麼?靜態方法類或常規方法類
0
A
回答
1
我認爲最好的選擇是使用namespace
和免費功能。原因:
使用
class
正常的方法是混亂的,因爲它需要被實例化,但沒有狀態。僅使用靜態方法使用
class
更好,但要求用戶始終指定類的名稱。使用
namespace
和自由功能防止混亂/不必要實例的可能性,並且還允許用戶別名namespace
或使用using namespace
在同一範圍內使用多種功能時,爲了避免重複。namespace
也可以跨越多個文件。
1
如果您沒有數據成員,則沒有理由在成員方法中使用類。你必須創建你的類來調用你的方法的一個實例(A小,但可避免的開銷)
調用類的靜態方法生成的開銷。命名空間中的函數也是如此。
相關問題
- 1. 具有靜態方法的靜態類和具有靜態方法的常規類之間有什麼不同?
- 2. 在Dao類中使用靜態方法或非靜態方法?
- 3. 庫中的靜態方法或常規方法
- 4. 從靜態基類方法調用靜態派生類方法
- 5. 如何裝飾類或靜態方法
- 6. Delphi Prism中的靜態或類方法
- 7. DLLEXPORT靜態類的方法
- 8. Java類和靜態方法
- 9. 調用靜態類方法
- 10. PHP和靜態類方法
- 11. 類名的靜態方法?
- 12. Java靜態方法+類
- 13. Python類的靜態方法
- 14. 靜態類和靜態方法
- 15. (Java)靜態通用方法與泛型類靜態方法
- 16. 爲什麼@decorator不能裝飾靜態方法或類方法?
- 17. 什麼是更好的:公共靜態類與靜態方法或公共類與靜態方法?
- 18. 調用類類型的靜態方法
- 19. noSuch類的方法方法(又名靜態方法)
- 20. 臨時類。方法調用,用於非靜態類/方法
- 21. 非靜態類中的靜態方法和靜態類中的靜態方法有什麼區別?
- 22. 多態方法或類
- 23. 靜態方法或OO替代方法?
- 24. 無法從靜態方法訪問靜態方法Android:getResources()從類型ContextWrapper
- 25. 抽象掉在靜態方法在非靜態類類型
- 26. 使用非靜態方法中的內部類的靜態類
- 27. 靜態方法getDBConnection()從類型DBConnection的應以靜態方式
- 28. 泛型類或非泛型類的靜態工廠方法?
- 29. $類 - >()方法或$類::方法()
- 30. 從非靜態類動態調用非靜態方法的最簡單方法?
第三種可能的選擇:使用'namespace'和自由函數。 –
感謝您的評論,選擇三種方法之一的任何理由? – Arun