職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

initializeメソッド

2021年11月28日 | Ruby3.0.1
initializeメソッド


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【initializeとは】
このメソッドをクラス内に記述した場合にはオブジェクトが作成される時に自動的に呼び出されます。

形式
class クラス名

def initialize()
処理
end

end

「initialize」メソッドを使うことでオブジェクトを作成時に必ず実行したい処理をメソッドを呼び出すことなく実行することが出来ます。例えば次の例では「initialize」メソッドの中でインスタンス変数を初期化しています。

class Car
def initialize()
@name = "未定義"
end
end

car = Car.new()

【「initialize」メソッドに引数を指定する】
「initialize」メソッドには引数を指定することが出来ます。

class クラス名

def initialize(変数1, 変数2, ...)
処理
end

end

他のメソッドと同じく「initialize」メソッドも呼びだす時に引数を指定して呼び出すことでメソッドに値を渡す事ができますが、「initialize」メソッドは自動的に呼び出されるメソッドですので「initialize」メソッドに渡す値はクラスメソッドの「new」メソッドの引数に指定します。
class Car
def initialize(carname)
@name = carname
end
end

car = Car.new("civic")
または
class Car
def initialize(carname="未定義")
@name = carname
end
end

car1 = Car.new("civic")
car2 = Car.new()

サンプルプログラム


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする