先看下面的示例代码:
module First
def initialize
puts "Second init"
end
def first
puts "first"
end
end
module Second
def initialize
puts "Second init"
end
def second
puts "second"
end
end
class MyClass
include First
include Second
def initialize
super()
end
end
c = MyClass.new
c.first
c.second
该程序的输出是:
Second init
first
second
从输出中,我们可以看到它MyClass
很好地包含First
和Second
模块,因为它同时具有first()
和second()
方法。
在MyClass
构造函数中,我尝试使用 初始化两个包含的模块super()
,但似乎只Second
调用了构造函数。
如何初始化所有包含的模块?