Ruby言語によるクラスの定義とクラスメソッドの定義及びクラスメソッドの呼び出し
学習
ここのところ、毎日少しでも時間があればruby言語の基礎の復習をやりアウトプットのつもりで
ここに投稿させていただいてます。
今日はRuby言語による、クラスの定義とクラスメソッドの定義、クラスメソッドの呼び出しを軽くおさらいする為に載せておくことにします。
クラスの定義
sample_calss.rb
class Review
end
sample_calss.rb
class Review
end
これで最もシンプルなクラスの定義ができる
インスタンスの生成
- newメソッド
sample_calss.rb
class Review
end
review = Review.new # Reviewクラスのインスタンスを生成
puts review
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の呼び出し
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を返す。
まとめ
クラスメソッドはクラスが使用できるメソッドであり、クラスメソッドを定義したクラス自身が使用できる。
クラスで共通の情報を使った処理
に使用される。
Author And Source
この問題について(Ruby言語によるクラスの定義とクラスメソッドの定義及びクラスメソッドの呼び出し), 我々は、より多くの情報をここで見つけました https://qiita.com/bomber0522/items/e67f2da70a350ba2bc97著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .