我发现这种代码在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 次 |
最近记录: |