【ClassPractice04】戻り値を持つメソッドを作ってみよう

これまでの流れを整理します。

  • ClassPractice01 → データをまとめた
  • ClassPractice02 → 処理を入れた
  • ClassPractice03 → 引数を渡した

今回は一歩進みます。

メソッドから値を返してみます。

これを「戻り値(もどりち)」といいます。


① プロジェクトを追加する

  1. ExtraPractice.sln を開く
  2. ソリューションを右クリック
  3. 「追加」→「新しいプロジェクト」
  4. 「コンソール アプリ」
  5. プロジェクト名を
ClassPractice04
  1. 作成

② Playerクラスを作る

ClassPractice04 を右クリック

→「追加」→「クラス」

→ Player.cs


③ Player.cs に書く

namespace ClassPractice04
{
    public class Player
    {
        public string Name;
        public int Hp;

        public void TakeDamage(int damage)
        {
            Hp = Hp - damage;
        }

        public bool IsAlive()
        {
            if (Hp > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}

新しく追加された部分

public bool IsAlive()

ここがポイントです。

  • bool が戻り値の型
  • return が値を返す命令

戻り値とは?

今はこれだけ覚えればOKです。

メソッドの実行結果として返す値

今回は、

「生きているかどうか」

を返しています。


④ Program.cs に書く

Player p1 = new Player();

p1.Name = "勇者";
p1.Hp = 50;

p1.TakeDamage(60);

if (p1.IsAlive())
{
    Console.WriteLine("まだ生きている");
}
else
{
    Console.WriteLine("倒れた");
}

⑤ F5で実行

結果:

倒れた

ここで何が起きている?

この部分です。

p1.IsAlive()

IsAlive() は

  • true
  • false

を返します。

その結果を if 文が使っています。


重要なポイント

引数は

メソッドに値を渡す

戻り値は

メソッドから値を受け取る

という違いがあります。


今日のゴール

✔ 戻り値のあるメソッドを書けた

✔ return を使えた

✔ bool型を使えた

✔ メソッドの結果を if で使えた


今はまだ覚えなくていいこと

  • 複数return
  • 早期return
  • 戻り値の設計
  • null

段階的に進みます。


まとめ

ClassPractice01 → データ

ClassPractice02 → 処理

ClassPractice03 → 引数

ClassPractice04 → 戻り値

ここまで来ると、

クラスの基礎はかなり理解が進んでいます。


訪問数 4 回, 今日の訪問数 1回