私は静的メソッドのみを持つクラスを持っています。クラスそのものも静的にするべきですか?それは問題ですか?静的メソッドのみを持つクラスは静的であるべきですか?
4
A
答えて
6
重要ですか?
クラスを静的にすると、ユーザーがそのようにしようとすると、コンパイラエラーを生成することによってインスタンス化できないことが保証されます。静的メンバーだけで構成されるクラスが単にインスタンス化されることを意図していない場合、それを静的にしない理由はありません。そうしないこともできますが、そのようなクラスのインスタンスはあまり役に立たないので、これらのインスタンスを作成するユーザーはかなり混乱することになります。
一方、このクラスのインスタンスを作成しようとしているが、派生クラスが独自のインスタンスメンバーを実装することを期待している場合、このクラスは静的ではなく抽象クラスである必要があります抽象的な定義やインタフェースを介して先行して記述する必要があります)。
2
一般的にはい:はい。
クラスstatic
を作成することによって、プログラマが特定のクラスのオブジェクトインスタンスを作成しないようにすることができます。これがあなたの意図であれば、それをやりなさい。これは、クラスがインスタンス化されることを意図していないことを他の同僚などに示すことによって、間違いを防止します。
public static class A
{
// Some static member
}
A a = new A(); // Compilation error
関連する問題
- 1. 静的クラスと静的メソッド
- 2. インスタンスのみを持つクラスの静的メソッドを呼び出す
- 3. 静的クラスで非静的メソッドを実装する方法は?
- 4. C++の静的メソッドのみを持つクラスの利点
- 5. メソッドはいつ静的にするべきですか?
- 6. なぜ静的クラスは静的メンバーのみを持つことができますか?
- 7. 静的メソッドを持つ抽象クラス。あれは正しいですか?
- 8. 静的メソッドと非静的メソッドを同じクラスに持つのは間違っていますか?
- 9. 静的クラスC#ASP.NET Webフォームで静的メソッドを呼び出す
- 10. 静的メソッドで静的メソッドと非静的メソッドにアクセスする方法
- 11. インポートのみクラスの静的メソッド
- 12. リポジトリを持つドメイン/モデルオブジェクトの静的メソッド
- 13. 静的メソッドのクラスのコンストラクタ
- 14. のdllexportクラスの静的メソッド
- 15. 静的クラスを持つビューに動的クラスを追加する
- 16. Pythonクラスの静的メソッド
- 17. クラス内のWCF静的メソッド
- 18. マルチスレッドアプリケーションの静的クラス/メソッド
- 19. F#クラス内の静的メソッド
- 20. クラスで静的メソッドを呼び出す?
- 21. 静的ポインタを持つC++クラス
- 22. PHP - 静的メソッドと非静的メソッドを宣言できますか?
- 23. Mockito:、私はmockitoから何かを(静的または非静的メソッド)模擬することができません静的&非静的メソッド
- 24. 私のセッションクラスは静的であるべきですか?
- 25. 非静的フィールドは静的、コンテキストMainメソッド
- 26. 静的クラスの静的メソッドのMethodInfoの取得
- 27. 、私は静的メソッドと抽象クラスを使うべきですか?
- 28. 静的クラスに非静的メソッドと変数を使用できないのはなぜですか?
- 29. メインはなぜ静的であるべきですか?
- 30. XAML経由で静的クラス内の静的メソッドを呼び出す
そこには正しいか間違っているが、ここではありませんが、それは '新しいYOURCLASSを()'を行うには意味がありませんので、ほとんどの場合、はい、あなたはそれが静的にする必要があります。 –
@ LasseV.Karlsen 'YourClass'は' YourClass.doSomething(); 'を行うために静的である必要はありません。 'doSomething()'だけが静的でなければなりません。 – Guy
@Guy確かに、Lasseは静的メソッドだけでインスタンス化するのは意味がないと言っていたので、とにかく静的であるはずです。 –