在类中mixin模块的问题

在类中mixin模块的问题

"在类中mixin Comparable模块,并实现<=>方法,就可以使用<、>和<=等运算符”.
但是这到底是为什么呢?
Comparable是一个模块(近似相当于java的接口吧?),我们在某个类中仅仅实现了<=>方法,为什么就可以使用那些运算符呢?
你告诉我你的身份证号码,我就可以知道你的姓名,性别等信息.因为身份证号码蕴涵了后面几条信息.
类似的,<=>方法蕴涵了<、>和<=等运算符.或者说从前者就能够完全确定后者
举例:下面的C模仿了Comparable

[Copy to clipboard] [ - ]
再举例一个:实现move方法,就能够使用up和down方法.因为up和down是直接调用的move方法

[Copy to clipboard] [ - ]
非常感谢!!我在javaeye问了一个多星期没人理。
但是我的意思是Comparable这个module只是定义了一些方法,却没有实现。
那到底是哪个具体class或module实现了这些方法呀?
引用:
原帖由 congruced 于 2008-1-8 08:46 发表
非常感谢!!我在javaeye问了一个多星期没人理。
但是我的意思是Comparable这个module只是定义了一些方法,却没有实现。
那到底是哪个具体class或module实现了这些方法呀?
如果是class的话呢? 其实也可以。只不过如果是类,则基类实现方法如下即可

def functionname
raise NotImplementedError, "this is more like c++ virtual base class"
end