kli*_*iew 33 abstract-class scala traits abstract
我已经阅读过Scala,通常建议使用Traits而不是Abstract类来扩展基类.
以下是一个很好的设计模式和布局吗?这是Traits如何取代Abstract?
Tra*_*own 67
我不知道你的源代码是什么声称你应该更喜欢Scala中的抽象类的特征,但有几个原因不能:
MyType$.MODULE$.myMethod语法.具有伴随对象的抽象类不是这种情况,伴随对象在JVM上作为具有静态和实例方法的单个类实现.使用Java中的具体方法实现Scala特性更令人不愉快.到目前为止,最后一个原因是我认为最重要的原因.在未来的Scala版本中,至少还有一些其他问题可能会得到解决,但是默认情况下,默认情况下,以类似于(至少可以证明)与良好设计一致的方式约束您的程序.如果你确定你真的真的想要特质提供的力量,他们仍然会在那里,但这将是你做出的决定,而不是你只是陷入其中.
所以不,在没有其他信息的情况下,我建议使用抽象类(理想情况下是密封的)和两个提供实现的具体类.
| 归档时间: |
|
| 查看次数: |
2577 次 |
| 最近记录: |