介绍Ruby中的模块与混合类型的相关知识

2019-09-25 09:42:40王振洲

Sunday
You have four weeks in a month
You have 52 weeks in a year
Sunday
120

Ruby中混合类型:

通过本节之前,假设有面向对象的概念和知识。

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

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

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

让我们来看看下面的示例代码来获得混合类型了解:

module A
  def a1
  end
  def a2
  end
end
module 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。类示例包括两个模块A和B类的样品可以访问所有四种方法,即a1, a2, b1 或 b2。因此,可以看到这个类继承自两个模块样品。因此,可以说类的示例显示了多重继承或混入。