Ruby intializeメソッドの使い方 (initialize, allocate)

 

こんちは。

編集長です!

今回はinitializeメソッドについて解説していきます。

クラスを学ぶ上でinitializeメソッドはとても重要になってきます!

しっかり理解していきましょう!

intializeメソッドとは

intializeメソッドはインスタンスが初期化された際に呼び出されるメソッドのことです。

他の言語では「コンストラクタ」と呼ばれることも多いです。

編集長
インスタンス初期化のときに呼ばれる

コンストラクタと言われればinitialize

この二点を押さえておこう!!

 

intiializeメソッドを使ってみる

f:id:babashun1024:20170704140334p:plain

それでは実際にintializeメソッドを使ってみましょう。

Userのnameというインスタンス変数をinitializeメソッドによって代入して見ます。

このように、初期化の際にinitializeメソッドが呼び出され

「@name = "taro"」

が実行されています。

 

編集長
上のコードが理解できない場合、クラスの基礎からやり直そう!!

initializeメソッドに引数を渡す

f:id:babashun1024:20170704140433p:plain

intializeメソッドには、他のメソッドと同じように、引数を渡すことが可能です。

initializeメソッドの引数はnewメソッドに値を与えることで使用できます。

 

このように引数を渡すことができ、newメソッドに与えた値で初期化されていることがわかります。

initializeメソッドを呼び出さない(allocate)

f:id:babashun1024:20170704140609p:plain

newメソッドを使用すると自動的にintializeメソッドが呼び出されますが、intializeを呼び出したくない時はどうすれば良いのでしょうか。

そんな時は「allocateメソッド」を使用します。

 

編集長

このように、allocateで呼び出すとintializeメソッドが呼び出されていないことがわかります。

allocateは案外知られていないメソッド。

allocateでインスタンスを作る時は、混乱しないように、わかりやすいメソッド名をつけた方が良さそう!

 

まとめ

f:id:babashun1024:20170704133621p:plain

今回はRubyのinitializeメソッドについて解説していきました。

intializeメソッドを使用すれば、初期化の際のロジックをより簡単にすることができます。

ぜひ理解するようにしましょう。

4980円のプログラミングスクール

プログラミングスクールに通いたいけど

  • 「値段が高すぎる」
  • 「実力がつくか不安」
  • 「しっかりした先生に教えてもらえるか不安」

と思ったことはありませんか?

 

でもそんなあなたの悩みは一気に解決するんです。

「月額4980円で現役フリーランスエンジニアに質問し放題なプログラミングスクール」

を作りました。

 

人数に限りがありますのでお申し込みはお早めに。