【发布时间】:2013-06-24 13:09:50
【问题描述】:
我认为类变量和实例变量之间没有明显区别。 类变量也可以看作是一个实例变量。我对吗?
例如:
class Test
@class_var = 'hello world'
def self.show_class_var
@class_var
end
def show_class_var
puts self.class.show_class_var
end
end
所以,我认为我们可以将类变量视为当前类的实例变量(Test)。如果我们定义@@class_var = 'hello world',唯一的好处就是我们可以在实例方法中直接引用@@class_var。我只是想知道我是否正确。我是吗?
【问题讨论】:
-
你所说的“类变量”不是类变量。它是类对象上的实例变量。真正的类变量前面加上
@@ -
谢谢大家回答我的问题:)类变量可以在子类中看到,而实例变量不能。我认为这是主要区别。 (我没想到会因为我的问题而吵架...我不知道会发生什么。但我仍然感谢您的耐心等待)
标签: ruby