ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

プロパティ

プロパティは使う側からはフィールドのようにアクセスできるが、クラス側ではメソッドのように実装できるもの。
プロパティはgetアクセサとsetアクセサで実装する。getアクセサはプロパティが読み込まれたときに行う処理を書き、setアクセサはプロパティに値を割り当てるときに行う処理を書く。必ず両方実装する必要はなく、必要な方だけでよい。getアクセサだけを書けば読み取り専用、setアクセサだけを書けば書き込み専用になる。

public class Test
{
    private int num = 0;

    public int Num
    {
        get
        {
            return num;
        }
        set
        {
            num = value;
        }
    }
}

public void Func()
{
    Test test = new Test();

    test.Num = 1;
    System.Console.WriteLine("{0}", test.Num);
}

この例はただ値を取得したり設定するだけのもの。値のチェックをしたり変更したりといった処理をgetやsetのブロックに記述すればよい。
プロパティは変数ではないので、refやoutでメソッドに渡すことはできない。