C# の プロパティ の説明
プロパティ
プロパティは、オブジェクト内にあるフィールドの値を取得・設定するための専用のメソッドのことをいいます。
class Program
{
static void Main(string[] args)
{
Human obj = new Human();
obj.Name = "太郎";
Console.WriteLine(obj.Name);
Console.Read();
}
}
class Human
{
private string name;
public string Name
{
// getアクセス
get {
return name;
}
// setアクセス
set {
name = value;
}
}
}
上記のコードでは フィールドの「name」の為の Nameプロパティを設定しています。 プロパティには フィールドの値を返す getアクセス と フィールドに値を代入する setアクセス があります。
getアクセスを書かなければ書込み専用。setアクセスを書かなければ読み取り専用のプロパティになります。
プロパティに設定された値は 変数 value に代入されるので、それを利用フィールドに値を代入します。
フィールドの値を取得するための get用のメソッドと、設定するための set用のメソッドをそれぞれ作成するより、1つのメソッドで get と set のロジックを記述できるのが特徴です。
自動実装プロパティ
値に対して特にチェックロジック等を記述することがない場合は、自動実装プロパティという書き方をすることで、privateフィールドの記述を省略できます。
class Program
{
static void Main(string[] args)
{
Human obj = new Human();
obj.Name = "太郎";
Console.WriteLine(obj.Name);
Console.Read();
}
}
class Human
{
// 自動実装プロパティ
public string Name { get; set; }
}
初期値を設定したいときは 次のように記述します。
class Human
{
public string Name { get; set; } = "taro";
}
また、set を private に指定することによって、読み取り専用プロパティとすることが可能です。
class Human
{
public string Name { get; private set; } = "taro";
}
コメント