一般来说学习ruby和oop,我遇到了类方法,据我所知,它类似于实例方法,但是可以从类而不是从对象访问,并且只能同时运行一个。ruby中的class/static方法有什么用?
但是,我不明白为什么你会使用一个类方法与正常方法(在类之外)以及它们的用途有什么关系?
例如:
#Why would you use:
class Foo
def self.bar
puts "Class method"
end
end
#Versus simply:
def bar
puts "Normal method"
end
Foo.bar # => Class method
bar # => Normal method
,因为它们都产生相同的结果? 我对他们很困惑,所以如果我误解了这里的任何/所有内容,请纠正。
你应该阅读一些基本的面向对象的书。这将有助于更多地理解这些基本概念。 –
@maximus你可以推荐任何(或免费在线的更棒!)? – user2521439
为了学习基本的OOP概念,我建议你阅读o'reilly系列书http://shop.oreilly.com/product/9780596008673.do并学习红宝石。红宝书是最好的http://www.sapphiresteel.com/ruby-programming/The-Book-Of-Ruby –