我发现这种代码在Lift框架中很常见,写成这样:
object BindHelpers extends BindHelpers {}
这是什么意思?
最佳答案
在这种情况下,BindHelpers
是一个特征而不是一个类。让foo()
作为BindHelpers
中定义的方法,您可以访问它。
BindHelpers.foo()
BindHelpers
混合在一个类中,从而能够访问其内部的方法。 例如:
class MyClass extends MyParentClass with BindHelpers {
val a = foo()
}
例如,Scalatest中针对
ShouldMatchers
使用了相同的技术。关于scala - 人们为什么要定义对象扩展其同伴类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4991649/