我发现这种代码在Lift框架中很常见,写得像这样:
object BindHelpers extends BindHelpers {}
这是什么意思?
在这种情况下,BindHelpers是一个特质,而不是一个类.让我们foo()成为一个定义的方法BindHelpers,你也可以访问它.
通过伴侣对象使用它: BindHelpers.foo()
BindHelpers在类中混合特征,从而能够访问其中的方法.
例如:
class MyClass extends MyParentClass with BindHelpers {
val a = foo()
}
Run Code Online (Sandbox Code Playgroud)
ShouldMatchers例如,在Scalatest中使用相同的技术.
扩展它的伴生类是很有趣的,object因为它将具有与该类相同的类型。
如果object BindHelpers没有扩展 BindHelpers,它将是 类型BindHelpers$。
| 归档时间: |
|
| 查看次数: |
3888 次 |
| 最近记录: |