摘要:
如果希望在一个类中存储一个变量,那么除了【类实例变量】之外,还可以用以@@开头的【类变量】:class C @@v=1end类变量与类实例变量不同,它们可以被子类或类的实例所使用。class D < C def my_method; @@v; endendD.new.my_method #=>1但请注意:类变量有一个缺陷:@@v=1class MyClass @@v=2end@@v #=>2得到这样的结果是因为类变量并不真正属于类,它们属于类体系结构。由于@@v定义于main的上下文,它属于main的类Object,所以也属于Object的后代。MyClass继承自Objec 阅读全文