Ruby言語によるクラスの定義とクラスメソッドの定義及びクラスメソッドの呼び出し


学習

ここのところ、毎日少しでも時間があればruby言語の基礎の復習をやりアウトプットのつもりで
ここに投稿させていただいてます。
今日はRuby言語による、クラスの定義とクラスメソッドの定義、クラスメソッドの呼び出しを軽くおさらいする為に載せておくことにします。

クラスの定義

sample_calss.rb
class Review

end

これで最もシンプルなクラスの定義ができる

インスタンスの生成

  • newメソッド
sample_calss.rb
class Review

end
review = Review.new # Reviewクラスのインスタンスを生成
puts review

ターミナルからruby sample_class.rbと実行すると

result
#<Review:0x00XXXXXXXXXX>

とReviewクラスのインスタンスの生成に成功していることがわかる。

クラスメソッド

  • クラスメソッドの定義

クラスメソッドはメソッド名の前にself.を付ける

classMethod.rb
class クラス名
  def self.メソッド名
    # 処理
  end
end
  • 呼び出し

クラス名に続けてメソッド名を書く。引数は()のなかに入れる。これは普通のメソッドと同様。

クラス名.メソッド名(引数)
  • 代表的なクラスメソッドはnewメソッドがある。
sample.rb
user = User.new # newメソッド

Reviewクラスにクラスメソッドget_review_countを定義してみる。

sampl_class.rb
class Review
  def self.get_review_count
    return 0
  end
end

review = Review.new # Reviewクラスのインスタンスを生成
puts review

puts Review.get_review_count # get_review_countの呼び出し

最後にクラスメソッドget_review_countを呼び出しているので0を返す。

まとめ

クラスメソッドはクラスが使用できるメソッドであり、クラスメソッドを定義したクラス自身が使用できる。
クラスで共通の情報を使った処理に使用される。