ruby除了支持class外还支持module,module的作用有两个:
1 当作一组方法和常数的命名空间 防止命名冲突
2 可以被类mixin(混入),mixin module的类的实例则拥有了模块的方法。
不同的类混入了同样的模块,则可以拥有同样的功能,而无须去继承某个父类。
可以通过include一个module来实现c++中的多继承。
module CircularModule
PI
=
3.1415926
def
calculate(diamiter)
return
diamiter
*
PI
end
end
class
Circular
include CircularModule
end
c
=
Circular.new
puts c.calculate(
5
)
#
output 15.707963
本文介绍了Ruby中的模块概念及其用途,包括作为命名空间避免命名冲突,以及如何通过mix-in为不同类提供统一的功能实现,类似于C++中的多继承。
1828

被折叠的 条评论
为什么被折叠?



