李超

cc编程笔记本。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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
  
= Circular.new
puts c.calculate(
5# output 15.707963
可以看出来,使用include包含了一个模块后,该类就会包含模块中的方法和常数,方法用 对象名.方法名 ,常数用 类名::常数 。
posted on 2008-01-04 16:14  coderlee  阅读(1227)  评论(0编辑  收藏  举报