私が最初にオブジェクト指向プログラミング言語で働き始めたとき、私は次の規則を教えられました:
クラスでフィールドを宣言するときは、まだ初期化しないでください。コンストラクターでそれを行います。
C#の例:
public class Test
{
private List<String> l;
public Test()
{
l = new List<String>();
}
}
しかし、最近誰かが私にそれをする理由を尋ねたとき、私は理由を思い付くことができませんでした。私はC#(または他のプログラミング言語、さらに言えば、これはすべてのオブジェクト指向言語で実行できると信じているため)の内部動作に精通していません。
では、なぜこれが行われるのですか?セキュリティですか?プロパティ?