hor*_*guy 13 ruby multiple-inheritance mixins
据称Matz说"mixins几乎可以完成多重继承所做的一切,没有相关的缺点"(Matz的话)."
首先,为什么Ruby模块包含不是'多重继承'?在我看来,模块和类之间几乎没有什么区别.当它用作超类时,无法实例化模块这一事实无关紧要.
我也知道,连续的模块包含形成了从类向上扩展的单个继承链(不是树).但是,对我来说,这不足以将它与"多重继承"区分开来,因为Python多重继承系统也"线性化"超类链(使用C3算法),只是Ruby'线性化'过程非常简单.
那么,对于像Python这样的语言,Ruby模块混合与多重继承的确切区别是什么呢?为什么Python采用c3 MRO算法背后的论据不适用于Ruby?如果他们确实适用 - 为什么Ruby决定不采用这种算法?
谢谢
代表 Mladen 添加此内容作为实际答案,因为我发现它非常有帮助,而且我猜答案对于 SO 所做的任何疯狂的事情都会得到更好的索引。
\n\n\n\n这是一篇关于此事的好文章,看看它是否回答了您的问题:http://artima.com/weblogs/viewpost.jsp ?thread=246488 \xe2\x80\x93 Mladen\n Jabanovi\xc4\x87 Oct 2010 年 28 月 18 日 23 分
\n
| 归档时间: |
|
| 查看次数: |
2078 次 |
| 最近记录: |