调用实例方法或类方法

时间:2016-07-26 02:20:11

标签: ruby

我有一个班级:

Class Temp
  def Temperature
   puts "It's hot"
  end
end

我可以调用一个实例:

mytemp = Temp.new

我可以在其上调用方法Temperature。我怎么知道我是在调用实例类还是类方法?

2 个答案:

答案 0 :(得分:2)

由于您需要调用.new来实例化类,Temperature是一个实例方法。您可以通过将self附加到方法名称def self.Temperature来定义类方法。然后你不用实例化类就调用它:Temp.Temperature

答案 1 :(得分:2)

让我们定义以下类。我定义了以小写字母开头的方法,就像每个人一样。

class Temp
  def temperature
   puts "I am instance"
  end

  def self.temperature
   puts "I am class"
  end
end
t = Temp.new
t.temperature

- > “我是实例”

Temp.temperature

- > “我上课了”

t = Temp.new
t.class.temperature

- > “我上课了”

希望它有所帮助并使事情变得清晰:)