我想在 ruby 中利用子类的类方法,但是那些依赖子实例变量的方法不起作用。有人告诉我“不要使用类变量!(@@)”,所以我不是。我怎样才能让课堂B
做我想做的事,即打印出来"1"
?
class A
@a = "1"
def initialize
self.class.what_is_a
end
def self.what_is_a
p @a
end
end
class B < A
end
A.what_is_a
B.what_is_a
A.new
B.new
输出:
"1"
nil
"1"
nil
我希望他们都成为"1"
。