【ClassPractice12】自動実装プロパティを使ってみよう
前回はこう書きました。
private int Hp;
public int CurrentHp
{
get { return Hp; }
set
{
if (value < 0)
{
Hp = 0;
}
else if (value > MaxHp)
{
Hp = MaxHp;
}
else
{
Hp = value;
}
}
}
少し長いですね。
実は C# には、
自動で裏の変数を用意してくれる書き方
があります。
それが 自動実装プロパティ です。
目次
① プロジェクトを追加する
- ExtraPractice.sln を開く
- 右クリック → 「追加」→「新しいプロジェクト」
- 「コンソール アプリ」
- プロジェクト名
ClassPractice12
- 作成
② Playerクラスを書く
今回はシンプルにします。
namespace ClassPractice12
{
public class Player
{
public string Name { get; set; }
public int CurrentHp { get; set; }
public Player(string name, int hp)
{
Name = name;
CurrentHp = hp;
}
}
}
何が変わったのか?
public int CurrentHp { get; set; }
これだけで、
- 取得できる
- 設定できる
- 裏で変数も作られる
ようになります。
③ Program.cs
Player p1 = new Player("勇者", 100);
Console.WriteLine(p1.CurrentHp);
p1.CurrentHp = 50;
Console.WriteLine(p1.CurrentHp);
実行結果
100
50
注意点
この書き方は便利ですが、
今は
制御はしていません
つまり、
p1.CurrentHp = -999;
も可能です。
ではなぜ使うの?
自動実装プロパティは、
✔ シンプルなデータ用
✔ 制御が不要なとき
✔ 書きやすさ重視
に使います。
今日のポイント
✔ 自動実装プロパティは短く書ける
✔ 裏に変数が自動で作られる
✔ 制御は書いていない
まとめ
これまでの進化:
- private フィールド
- 手書き get / set
- 制御付きプロパティ
- 自動実装プロパティ
ここまで来ると、
C# のプロパティの全体像が見えています。
訪問数 2 回, 今日の訪問数 2回



ディスカッション
コメント一覧
まだ、コメントがありません