2016年9月7日 上午10:18 ***
介绍一种跟类相似的构造:模块(module)。在设计程序的时候,我们会把大的组件分割成小块,你可以混合与匹配对象的行为。
跟类差不多,模块也捆绑方法与常量。不一样的是,模块没有实例。你可以把拥有特定功能的模块放到类或某个特定的对象里使用。
Class 这个类是 Module 类的一个子类,也就是所有的 class 对象应该也是一个 module 对象。
上午10:26 ***
创建与使用模块
上午10:26 ***
module MyFirstModule def say_hello puts 'hello' end end
我们创建了类以后可以去创建这个类的实例,实例可以执行类里面的实例方法。不过模块是没有实例的,模块可以混合(mixed in,mix-in,mixin)到类里面,用的方法是 include 还有 prepend 。这样类的实例就可以使用在模块里面定义的实例方法了。
使用一下上面定义的那个模块: