Ruby混合类型

时间:2021-06-03 07:48:54

当一个类拥有可以从多个父类继承的特点,类应该显示多重继承。

Ruby没有直接支持多继承,但Ruby模块有另一个精彩使用。他们几乎消除多重继承的需要,提供了一个工厂,称为混入。

混合类型给一个精彩的控制方式增加功能类。在代码中混合类,使用它的代码能进行交互。

语法:

module A
def a1
end
def a2
end
end
modlue B
def b1
end
def b2
end
end
class Sample
include A
include B
def s1
end
end
samp = Sample.new
samp.a1
samp.a2
samp.b1
samp.b2
samp.s1

模块A 包含了a1,a2两个方法,模块B包含了b1,b2两个方法。Sample 类包含了A和B模块,这时Sample类实例即拥有了这两个模块的方法,因此,Sample类间接的实现了多重继承--->混入