学習
ここのところ、毎日少しでも時間があれば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を返す。
まとめ
クラスメソッドはクラスが使用できるメソッドであり、クラスメソッドを定義したクラス自身が使用できる。
クラスで共通の情報を使った処理に使用される。