只有一个initialize方法?

只有一个initialize方法?

昨天写TDD的例子代码时发现原来php?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby中每个类只能定义一个initialize,php?name=%B2%E2%CA%D4" onclick="tagshow(event)" class="t_tag">测试代码(比较难看)如下:

[Copy to clipboard] [ - ]


[Copy to clipboard] [ - ]
if else是很难看,但是case...when就好看啦~
initialize(*args)
不是参数个数的问题哦。

比如
class A
 #....
end

class B
 #...
end

class D
 #...
end

先假定上面的几个类中的方法都不同。我新建一个类 C 那如果我要用A或者BD其中一个来初始化C的话,那不就要在C的initialize中用两个参数,然后用ifelse来判断是一个参数还是两个参数这样了哦。那如果只要一个参数的话,那不就要判断这个参数的类型然后再进行初始化拉。
举个api的例子

对于Ruby中的File类,更多的构造过程还是要通过调用open方法后加一个block来完成,而不像Java那样,可以直接调用File类本身的构造方法来进行多种形式的构造。
用A或B来初始化C???有继承关系?
引用:
原帖由 blackanger 于 2007-10-5 10:57 发表
用A或B来初始化C???有继承关系?
看来我的理解力有问题
Ruby里类从来不是类型

[Copy to clipboard] [ - ]