2016-11-16 55 views
0

我有一個實用程序類,它不包含任何數據成員,只是通過其方法提供一些服務。在這種情況下,哪種方法更好一些,用所有靜態方法創建一個類,或者用普通方法創建一個類,並通過創建類的對象來調用它們?這兩種方法的優缺點是什麼?靜態方法類或常規方法類

+5

第三種可能的選擇:使用'namespace'和自由函數。 –

+0

感謝您的評論,選擇三種方法之一的任何理由? – Arun

回答

1

我認爲最好的選擇是使用namespace和免費功能。原因:

  • 使用class正常的方法是混亂的,因爲它需要被實例化,但沒有狀態。

  • 僅使用靜態方法使用class更好,但要求用戶始終指定類的名稱。

  • 使用namespace和自由功能防止混亂/不必要實例的可能性,並且還允許用戶別名namespace或使用using namespace在同一範圍內使用多種功能時,爲了避免重複。 namespace也可以跨越多個文件。

1

如果您沒有數據成員,則沒有理由在成員方法中使用類。你必須創建你的類來調用你的方法的一個實例(A小,但可避免的開銷)

調用類的靜態方法生成的開銷。命名空間中的函數也是如此。