class Test
def initialize
puts 'initializing test'
end
end
class TestB < Test
end
something = Class.new(Test)
在上面,不调用超类初始化方法。如果我做
something = TestB.new
它被称为。
为什么?
答案 0 :(得分:7)
阅读文档,Class.new(Test)会产生一个派生类对象,该对象将Test作为其超类。
您需要在该结果上调用new才能获得打印输出。
TestA = Class.new(Test)
something_else = TestA.new