{category}

Ruby - クラスとオブジェクト

initialize

イニシャライズ(オブジェクト指向プログラミング

意味 オブジェクトの初期化を行う


initializeとは?

initializeは、新しいオブジェクトが作られるときに自動的に呼び出される特別なメソッドです。オブジェクトの初期状態を設定するために使われ、newメソッドで新しいインスタンスを作成する際に内部で実行されます。

initializeの具体的な使い方

基本的な初期化

class Book
  def initialize(title, author)
    @title = title
    @author = author
    puts "新しい本「#{@title}」(著者:#{@author})が作成されました。"
  end
end

book = Book.new('Ruby入門', '山田太郎')

👇出力結果

新しい本「Ruby入門」(著者:山田太郎)が作成されました。

この例では、Bookクラスにinitializeメソッドを定義しています。新しいBookオブジェクトを作成すると、titleとauthorを引数として受け取り、インスタンス変数に設定します。また、オブジェクトが作成されたことを通知するメッセージを表示します。

デフォルト値を持つ初期化

class Counter
  def initialize(start = 0)
    @count = start
    puts "カウンターが#{@count}から開始されました。"
  end

  def increment
    @count += 1
    puts "現在のカウント: #{@count}"
  end
end

counter1 = Counter.new
counter2 = Counter.new(10)

counter1.increment
counter2.increment

👇出力結果

カウンターが0から開始されました。
カウンターが10から開始されました。
現在のカウント: 1
現在のカウント: 11

この例では、Counterクラスのinitializeメソッドにデフォルト値を設定しています。引数を省略してnewを呼び出すと、カウンターは0から始まります。引数を指定すると、その値からカウンターが開始されます。

initializeに関するよくある質問

Q. initializeメソッドとは何ですか?
A. initializeメソッドは、新しいオブジェクトが作られるときに自動的に呼び出される特別なメソッドです。オブジェクトの初期状態を設定するために使われます。
Q. initializeを直接呼び出せますか?
A. いいえ、initializeメソッドは通常直接呼び出すことはできません。newメソッドを使ってオブジェクトを生成する際に自動的に呼び出されます。
Q. 初期化時に引数は必須ですか?
A. いいえ、必須ではありません。initializeメソッドは引数なしで定義することもでき、その場合は引数なしでnewを呼び出せます。また、デフォルト値を設定することで、引数の一部または全てを省略することもできます。

initializeが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyのinitializeやprepend、instance_of?、class、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

prepend

モジュールを優先的に追加

種類: モジュールとMix-in

instance_of?

厳密なクラスチェック

種類: 継承

class

オブジェクトの設計図

種類: クラスとオブジェクト

~

ビット反転演算子

種類: ビット演算

>

左が右より大きいか比較

種類: 演算子