Ruby混合类型

当一个类拥有可以从多个父类继承的特点,类应该显示多重继承。
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类间接的实现了多重继承--->混入

posted @ 2016-08-14 10:34  Silktree  阅读(187)  评论(0编辑  收藏  举报