インスタンスメソッドとは、
一方、クラスメソッドとは、特定のインスタンスを必要とせず、
クラスとはある概念、たとえば人間というものを表すものなので、人という概念に対する機能がクラスメソッド。
インスタンスとはある実体、たとえばAさんという人を表すものなので特定の人が実行する機能がインスタンスメソッド。
ということか?
Rubyにおいてはクラスメソッドは「self.」をつけるか「
たとえばHumanクラスというものがあった時に以下のような使
class Human
# クラスメソッド 書き方1
def self.get_popularity
# 略
end
# クラスメソッド 書き方2
class << self
def get_japanese
# 略
end
end
# インスタンスメソッド
def go_school
# 略
end
end
# クラスメソッドを使ってみる
Human.get_popurarity # クラス.クラスメソッド
Human.get_japanese
# インスタンスメソッド使ってみる
masa = Human.new # まずはインスタンス生成
masa.go_school # 続いてインスタンス.インスタンスメソッド
こんなイメージですかね?
ちなみにnew関数はHumanクラスで実行させてるのにクラスメソッドではないらしい。。
0 件のコメント:
コメントを投稿