ruby - 类实例化和初始化(不调用initialize?)

时间:2011-08-27 17:02:06

标签: ruby base-class

class Test

  def initialize 
    puts 'initializing test'
  end

end

class TestB < Test

end

something = Class.new(Test)

在上面,不调用超类初始化方法。如果我做

something = TestB.new

它被称为。

为什么?

1 个答案:

答案 0 :(得分:7)

阅读文档,Class.new(Test)会产生一个派生类对象,该对象将Test作为其超类。

您需要在该结果上调用new才能获得打印输出。

TestA = Class.new(Test)
something_else = TestA.new