我有这个父类:
class ListBase
@@list = []
def self.list
@@list
end
end
我正在尝试像这样创建两个子类:
class Child1 < ListBase
end
class Child2 < ListBase
end
我的印象是这些子类中的每一个都有自己的@@list
类变量。但是,我明白了:
Child1.list.push(1)
Child2.list.push(2)
Child1.list # => [1, 2]
Child2.list # => [1, 2]
这意味着子类共享@@list
父类的。
如何为每个子类创建一个单独的类变量而不重复?