类方法
到目前为止我们使用的方法都是’实例方法’(instance methods)。实例方法属于类(class)的特定实例(instance) - 换句话说,属于单个对象(object)。也可以编写“类方法”(class methods)。类方法属于类(class)本身。为了定义类方法,你可以在方法名称前面加上类名和句号:
class_methods1.rb
class MyClass
def MyClass.classMethod
puts( "This is a class method" )
end
def instanceMethod
puts( "This is an instance method" )
end
end
调用类方法时必须使用类名:
MyClass.classMethod
特定对象不能调用类方法,同样的类也不能调用实例方法:
MyClass.instanceMethod #=> Error! This is an „undefined method‟
ob.classMethod #=> Error! This is an „undefined method‟