首先,我们通过一个实例来观察类变量与类方法:
class Square def initialize @@number_of_squares = define?(@@number_of_squares) ? @@number_of_squares + 1 : 1 end def self.test_method puts "Hello from the Square class!" end def test_method puts "Hello from an instance of class Square!" end
上面的代码中,number_of_squares用来记录类Square的实例个数,是类变量,它与对象变量的区别是,前面用两个@符号来标记。Square类中,第一个test_method是类方法,它与对象方法的区别是,它用self.前缀标示。这里self表示当前类,因此self.test_method定义的方法专用于该类。
如果我们学过Java或C++,会发现类变量其实与Java或C++中的静态变量类似,而类方法与Java或C++中的静态方法类似。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。