类方法是一个类的单件方法,可以被继承。类方法是单件方法的特例。
单件方法定义
def obj.a_singleton_method
end
类方法定义
Way 1
class Foo
def self.bar
puts 'class method'
end
end
Foo.bar # "class method"
Way 2
class Foo
class << self
def bar
puts 'class method'
end
end
end
Foo.bar # "class method"
Way 3
class Foo; end
def Foo.bar
puts 'class method'
end
Foo.bar # "class method"
http://www.railstips.org/blog/archives/2009/05/11/class-and-instance-methods-in-ruby/