【Ruby】インスタンスを新規作成されたときのみ実行されるinitializeメソッドについて解説します

こんにちは。たいら(@tairaengineer2)です。

この記事では、 Rubyでインスタンスを新規作成されたときのみ自動で実行されるinitializeメソッドについて

  • initializeメソッドとは
  • initializeメソッドを使ったサンプルプログラム

と、この記事で丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Rubyのバージョン 2.6.6

Rubyのインストールは、下の記事をご参考ください。

initializeメソッドとは

initializeメソッドとは、インスタンスを新規作成したときのみ自動で実行されるメソッドです。
なので、例えばインスタンス変数の初期化処理をinitializeメソッドの中に入れておけば必ず初期化できる、という便利なメソッドです。
書き方サンプルは以下です。

initializeメソッドには、下記のように引数も設定することができます。

initializeメソッドの注意点

initializeメソッドの注意点として、オーバーロードして複数定義することができません。
つまり、下記のような書き方はできません。

複数のパターンでinitializeメソッドをしたい場合は、デフォルト引数を使いましょう。
デフォルト引数については、以下の記事をご参考ください。

では、次の章で実際に使ってみます。

initializeメソッドを解説するプログラムの概要

initializeメソッドを解説するプログラムでは、デフォルト引数を用いたinitializeメソッドを持っているクラス作成します。
そのクラスに対して

  • 引数がない場合
  • 引数がある場合

の2パターンで新規にインスタンスを作成し、initializeメソッドが実行されているのかを確認します。

Rubyサンプルプログラム

実行結果

Rubyプログラムを実行するやり方は、以下の記事をご参考ください。

■initializeメソッドが実行されました
こんにちは、名無しさん
■initializeメソッドが実行されました
こんにちは、田中さん

指定した条件の通り、initializeメソッドが実行されていることを確認できました!

まとめ:initializeメソッドを使ってみよう!

以上がinitializeメソッドについての解説でした!

initializeメソッドは、インスタンスを新規に作成したときの初期化処理に最適なメソッドなので、ぜひ使ってみてください!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました