C#のクラスメンバー - フィールド(メンバー変数)

クラスを構成する要素の事をメンバーと言います。
その中で、クラスが管理するデータをフィールド(メンバー変数)と呼びます。


フィールドの定義

クラス定義のブロックの中に変数を定義します。
この変数がフィールドという形で機能する事になります。

以下はフィールド定義のサンプルです。
「Person」と名付けたクラスでは名前と年齢を管理しようとしています。
名前のデータを格納する為にstring型で「Name」と名付けたフィールドを、
年齢のデータを格納する為にint型で「Age」と名付けたフィールドを定義しています。
public class Person
{
    public string Name;                      // フィールド
    public int    Age;                       // フィールド
}


フィールド名の付け方とガイドライン

フィールド名は一定のガイドラインに従って命名する事が推奨されています。
フィールド名は単語の最初の文字を大文字(pascal形式)にした名詞または名詞句で命名しましょう。


フィールドのアクセシビリティ(アクセスのしやすさ)

フィールド定義の前に public や private といった修飾子が付けられることがあります。
これらの修飾子はフィールドのアクセシビリティレベルを表していて以下のような制限があります。
  • public      ・・・ どこからでもアクセス可能
  • private     ・・・ このクラス内のコードからのみアクセス可能
  • protected ・・・ このクラス内のコードか、このクラスから派生したクラスからのみアクセス可能
アクセス修飾子が省略されたときは private になります。



フィールドの使い方

フィールドは変数と同じように代入したり、式の左辺・右辺として指定する事ができます。
別のクラスからフィールドへアクセスするには、クラスの変数名の後にピリオド「.」を付け、更にメンバ名を記述します。
変数名.フィールド名;


サンプル

以下は「Person」というクラス定義のサンプルです。
public class Person
{
    public string Name;                // フィールド作成
    public int    Age;                 // フィールド作成
}



public class Program
{
    static void Main()
    {
        Person taro;
        taro = new Person();          // インスタンス生成
        taro.Name = "太郎";           // 他のクラスからはクラス変数名.フィールド名でアクセスできる
        taro.Age  = 15;
    }
}



コメント