首先,我们通过一个实例来观察类变量与类方法:
- 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++中的静态方法类似。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。