0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[ruby] classのnewとinitializeについて

Posted at

はじめに

記憶の定着のためアウトプットさせてもらいます

initializeメソッドとは

initializeメソッドはclassがnewされた時に呼び出されるメソッドです
主にクラスの初期化処理をするものです

newメソッドとは

クラスをインスタンス化できます
インスタンス化とはclassの定義をもとに新たな変数を作成することです。

具体例コード

class Car

  # クラスの初期化メソッド
  def initialize(name)
    @name = name
  end

  # クラスのインスタンスメソッド
  def car_name
    puts "#{@name}が走ってる!!"
  end

end

# classのnewメソッドに引数を渡す
car = Car.new("purado")

# newメソッドからinitializeメソッドに渡って初期化された名前が使用される
car.car_name

実行結果

puradoが走ってる!!

上記のコードではCar.newメソッドをつかってCarクラスをインスタンス化(変数化)しました

その後、変数carに対してcar_nameメソッドを実行するように命令してます

その結果Carクラスのcar_nameメソッドが実行されて「puradoが走ってる!!」が出力されます

newとinitializeの関係

initializeメソッドはnewメソッドが呼び出された際に呼び出されます。

また、newメソッドに渡された変数も、そのままinitializeメソッドに渡されます。

おわりに

簡単なアウトプットでした

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?