我刚刚阅读了Effective Java的第93-4页,但我遇到了一个混合术语.但我发现很难想象出mixin究竟是什么.有没有人可以通过提供Java中的Mixin示例来帮助我.感谢您的帮助,因为我搜索了Stackoverfolw和互联网,但没有发现任何确切的结论.
Edd*_*Edd 12
您指的是有效Java的第18项- 首选接口到抽象类,我相信以下部分:
接口是定义mixins的理想选择.松散地说,mixin是类可以实现的类型,除了它的"主类型"之外,它声明它提供了一些可选行为.例如
Comparable,一个mixin接口允许类声明它的实例是相对于其他可相互比较的对象进行排序的.这样的接口称为mixin,因为它允许将可选功能"混入"到类型的主要功能.抽象类不能用于定义mixins,原因与它们不能被改装到现有类相同:一个类不能有多个父类,并且类层次结构中没有合理的位置来插入mixin.
本质上,在抽象类和接口中指定功能之间的关键区别之一是接口版本可以在许多不同的类层次结构中使用,而抽象类只能在一个类层次结构树中使用,因为Java只允许单继承.
| 归档时间: |
|
| 查看次数: |
6766 次 |
| 最近记录: |