ruby的module与Java的interface以及C++的friend
生活随笔
收集整理的这篇文章主要介绍了
ruby的module与Java的interface以及C++的friend
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Module是Ruby一个非常好用的功能,它跟Class类别非常相似,你可以在里面定义方法。只是你不能用new来建立它。它的第一个用途是可以当做Namespace来放一些工具方法:
另一个更重要的功能是Mixins,可以将一个Module混入类別之中,这样这个类別就会拥有此Module的方法。这回让我们拆成两个wenji,debug.rb和foobar.rb,然後在foobar.rb中用来引用debug.rb:
首先是debug.rb:
然后是foobar.rb:
Ruby使用Module来解決多重继承的问题,不同类别之间只要拥有相同的方法,就可以改放在Module里面,然后include它即可。
Java中的interface可以解决多重继承的缺陷,C++是支持多重继承的,而且有一个元友的概念。我认为ruby的include module更像C++的friend class的功能。
转载于:https://blog.51cto.com/sanqianyuejia/1131218
总结
以上是生活随笔为你收集整理的ruby的module与Java的interface以及C++的friend的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 骨质疏松患者能吃醋泡鸡蛋吗
- 下一篇: 算法串匹配C++实现字符串匹配的KMP算