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