大佬教程收集整理的这篇文章主要介绍了ruby中的类/静态方法有什么用?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
但是,我不明白为什么你会使用普通方法(类外)的类方法,甚至它们的用途是什么?
例如:
#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
因为它们都产生相同的结果?
我对他们很困惑,所以如果我误解了这里的任何事情,请纠正.
类方法可能会处理管理类中存在的所有实例,而实例方法一次只处理一个实例.
class Book def self.all_by_author(author) # made up database call database.find_all(:books,where: { author: author }).map do |book_data| new book_data # Same as: Book.new(book_data) end end def title @title end end books = Book.all_by_author('Jules Vern') books[0].title #=> 'Journey to the Center of the Earth'
在这个例子中,我们有一个名为Book的类.它有一个类方法all_by_author.它查询一些伪装数据库并返回一个Book实例数组.实例方法标题获取单个Book实例的标题.
因此,管理实例集合的类方法和实例方法仅管理该实例.
通常,如果方法将对一组实例进行操作,或者是与该类相关但不直接读取或更新单个实例的代码,则它可能应该是类方法.
以上是大佬教程为你收集整理的ruby中的类/静态方法有什么用?全部内容,希望文章能够帮你解决ruby中的类/静态方法有什么用?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。