Ruby之旅(六) 模块以及类的多继承
来源:互联网 发布:mac 隐藏文件 编辑:程序博客网 时间:2024/05/09 22:52
Ruby之旅(六) 模块以及类的多继承
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
可以看出来,使用include包含了一个模块后,该类就会包含模块中的方法和常数,方法用 对象名.方法名 ,常数用 类名::常数 。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
0 0
- Ruby之旅(六) 模块以及类的多继承
- Ruby之旅(四) 类的继承
- Ruby的多继承
- Ruby之旅(三) 类变量以及类方法
- maven的聚合模块和pom继承使用(六)
- maven的聚合模块和pom继承使用(六)
- ruby的继承
- Ruby之旅(七) 数组以及Hash
- ruby的类与模块(1)
- Ruby类和模块的关系
- ruby-模块,类,对象的学习
- Ruby的OpenURI模块
- javascript 的 继承(六) 之 寄生组合式继承
- [ActiveRecord] 之六:继承
- [Ruby] ruby创建类方法 ,以及class_eval 、instance_eval的使用
- ruby 类和模块
- ruby 类和模块
- Ruby 类与模块
- git 创建分支
- Ruby之旅(五) 类的封装性
- Linux基础命令总结(不断更新...)
- e.target和this有什么区别?
- db.org/dl/cxx-driver下载
- Ruby之旅(六) 模块以及类的多继承
- OPC客户端运行环境配置-----OPC(第三篇)
- git初次使用
- 百度地图之Hello World
- 知乎上一个关于同步异步阻塞非阻塞的有趣解释
- 嵌套类:静态嵌套类和非静态嵌套类
- 编写个函数来对⼆维数组排序
- Java 读取excel xls以及xlsx文件
- 签名校验失败,部分4.2版本以下机型不兼容SHA-256算法