プロパティ

プロパティ
プロパティ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
public class Player { /// <summary> /// 実際のHPを管理する変数(外部から直接アクセスできない) /// </summary> private int _hp; /// <summary> /// プロパティ /// </summary> public int Hp { // HPの値を取得 get { return _hp; } // HPの値を変更 set { // HPは0未満にならない if (value < 0) _hp = 0; // HPは100以上にならない else if (value > 100) _hp = 100; // 通常の値 else _hp = value; } } } |
プロパティは変数(フィールド)を安全に管理するための仕組み
普通の変数(フィールド)を外部から勝手に変更させないようにしたり値の取得や設定に特別な処理を加える ことができる。
プロパティを使うと「値の取得」や「設定」に特別なルールを作れる」ので不正な値を防いだり変更時に特定の処理を実行したりできる。
【public int Hp】プロパティの型と名前
【get { return _hp; }】他のクラスからHpが呼ばれると_hpの値が呼ばれる。
【set】他のクラスからHpをセットするときの条件を決めることができる。
【if (value < 0) _hp = 0;】セットされた数値が0未満だと強制的に_hpを0にする。(-10等といった数値が入ることを防ぐため)
【else if (value > 100) _hp = 100;】セットされた数値が100以上だと強制的に_hpを100にする。(300等といった数値が入ることを防ぐため)
【else _hp = value;】それ以外の場合はセットされた値を_hpへセットする。