可能性の重複:
Best Practice: Initialize class fields in constructor or at declaration?メンバ変数を初期化するためのベストプラクティス?
私はC#ので働いていますが、これはおそらく、Javaの(または同様、この動作を可能にする任意の他の言語)に適用されます...
方法好ましい/ベストプラクティスですか? OR - - 私はいつも_memberVar
1.
class MyClass
{
private Dictionary<int, string> _memberVar = new Dictionary<int, string>();
public MyClass() {}
}
必要になりますと仮定し
2.
class MyClass
{
private Dictionary<int, string> _memberVar = null
public MyClass()
{
_memberVar = new Dictionary<int, string>();
}
}
今すぐMyClass
が上向きの10のコンストラクタを持っていることを言うことができます...ですから、私は_memberVar = new Dictionary<int, string>();
をこれらのコンストラクタのすべてに入れたくはありません。第1の方法に何か問題はありますか?おかげ
編集: 私はコンストラクタをチェーンすることができます実現が、これはかなり複雑なクラスです...いくつかのコンストラクタがベースを呼び出し、いくつかのコール他のコンストラクタすでになどなど
http://stackoverflow.com/questions/24551/best-practice-initialize-class-fields-in-constructor-or-at-declaration – M4N
と重複しています... – Polaris878