前のパートに戻る 完了して次のパートへ  

  1-4 パラメータの初期値を設定

こちらでは、勇者クラスのパラメータ初期値の設定を行います。それにより、初期値の設定を簡潔に行うことができるようになります。

ここまでで、勇者のパラメータ設定と取り出しができるようになったのですが、こちらのプログラムはパラメータの設定に関してさらに改善することができます。現在のプログラムでは、インスタンスを作成後、以下のようにしてパラメータを設定しています。

しかし、Rubyにはinitializeメソッドというものが存在します。このinitializeメソッドは、インスタンス化されると同時に実行されるメソッドなので、クラスのインスタンス変数に初期値を設定したい場合にとても便利です。

それでは早速、main.rbの勇者クラスにinitializeメソッドを定義してみましょう。

上のコードのようにinitializeメソッドの中でインスタンス変数に値を設定する処理を書くと、new演算子を使ってインスタンスを作成したときに、自動的に各インスタンス変数に値を設定してくれます。

それにより、以下の記述が必要なくなります。

具体的には、以下のようなコードで勇者のパラメータが設定できるようになるのです。main.rbの不要な記述を削除してみましょう。

記述ができたら実行してみてください。出力結果は同じになるはずです。

$ ruby main.rb

出力結果

NAME:テリー
HP:500
OFFENSE:150
DEFENSE:100

initializeメソッドを使用する前のコードと比較すると、だいぶスッキリしたコードになりましたね!

initialize使用前

initialize使用後

以上でパラメータの初期値をより簡潔に設定できるようになりました。次のパートでは、初期値を更に柔軟に設定できるよう改善していきます。

議論

0 質問

このコースの評価は?