【ClassPractice07】HPを「見るだけ」できるようにする
前回、Hp を private にしました。
private int Hp;
これで外から触れなくなりました。
でも問題があります。
今のHPを外から確認できません。
守ることはできましたが、
何も見えないのは不便です。
目次
解決方法
「見るだけ」できるメソッドを作る
① プロジェクトを追加する
- ExtraPractice.sln を開く
- 右クリック → 「追加」→「新しいプロジェクト」
- 「コンソール アプリ」
- プロジェクト名
ClassPractice07
- 作成
② Playerクラスを作る
ClassPractice07 を右クリック
→「追加」→「クラス」
→ Player.cs
③ Player.cs に書く
namespace ClassPractice07
{
public class Player
{
public string Name;
private int Hp;
public Player(string name, int hp)
{
Name = name;
Hp = hp;
}
public void TakeDamage(int damage)
{
Hp = Hp - damage;
}
public int GetHp()
{
return Hp;
}
}
}
新しく追加された部分
public int GetHp()
{
return Hp;
}
これは
HPを取得するメソッド
です。
④ Program.cs に書く
Player p1 = new Player("勇者", 100);
Console.WriteLine(p1.GetHp());
p1.TakeDamage(40);
Console.WriteLine(p1.GetHp());
実行結果
100
60
ここで重要なこと
- Hp は private
- 外から直接触れない
- でも GetHp() を通せば見られる
つまり、
制御しながら公開している
状態です。
今日のゴール
✔ private を守ったまま
✔ 必要な情報だけ外に出せた
まとめ
- データを守る → private
- 必要な分だけ公開する → メソッド
これが設計の基本です。
訪問数 4 回, 今日の訪問数 4回


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