ruby模拟多个构造器
来源:互联网 发布:php 字节数组 编辑:程序博客网 时间:2024/04/29 20:36
在ruby中没有像c++或者ruby中的构造器,可是我们依然能够创建出类似的多个构造器:
class ColoredRectangle def initialize(r, g, b, s1, s2) @r, @g, @b, @s1, @s2 = r, g, b, s1, s2 end def ColoredRectangle.white_rect(s1, s2) new(0xff, 0xff, 0xff, s1, s2) end def ColoredRectangle.gray_rect(s1, s2) new(0x88, 0x88, 0x88, s1, s2) end def ColoredRectangle.colored_square(r, g, b, s) new(r, g, b, s, s) end def ColoredRectangle.red_square(s) new(0xff, 0, 0, s, s) end def inspect "#@r #@g #@b #@s1 #@s2" endenda = ColoredRectangle.new(0x88, 0xaa, 0xff, 20, 30)b = ColoredRectangle.white_rect(15,25)c = ColoredRectangle.red_square(40)
如果属性过多,我们可以使用
class PersonalComputer attr_accessor :manufacturer, :model, :processor, :clock, :ram, :disk, :monitor, :colors, :vres, :hres, :net def initialize(&block) instance_eval &block end # Other methods end desktop = PersonalComputer.new do self.manufacturer = "Acme" self.model = "THX-1138" self.processor = "986" self.clock = 9.6 # GHz self.ram = 16 # Gb self.disk = 20 # Tb self.monitor = 25 # inches self.colors = 16777216 self.…………………………………………………………………………参考地址:http://www.verydemo.com/demo_c119_i3699.html
0 0
- ruby模拟多个构造器
- 多个构造器参数
- 多个构造参数考虑使用Builder构造器模式
- Builder模式处理多个构造器
- ruby如何替换字符串的多个?
- rbenv 管理多个版本Ruby
- 多个构造器参数的处理方式-----构建器
- 多个构造器参数使用构造器代替 取自effective java
- 构造器优化需要多个构造器的类(建造者模式)
- 第2条:遇到多个构造器参数时要考虑用构造器
- 第2条:遇到多个构造器参数时要考虑用构造器
- 遇到多个构造器参数时要考虑用构造器。
- 遇到多个构造器参数时考虑用构造器
- Effective java第二条:遇到多个构造器参数时要考虑用构造器
- 多个构造器参数考虑用Builder模式
- Builder模式--用于多个构造器参数时使用
- ruby入门_构造方法
- 第一个Ruby程序
- 关于/etc/rc.d 的各种介绍,详细必看
- swing 组件——在JLabel中添加图片的两种方式
- 软件测试基础理论知识|软件测试计划与策略
- 长撒地方而是特发给突然问啊染发套娃twat
- C-结构体
- ruby模拟多个构造器
- 负担部分动画巴菲特和世界忽然软件啊
- 新的学习:从Python开始
- 架构师的自我修养
- JSP/Java Servlet Container
- 回归
- Gabor金字塔在视觉注意模型研究中的应用(一)--准备篇
- POJ 3259 Wormholes (图论---最短路 Bellman-Ford || SPFA)
- 文本框的简单事件处理程序