本文介绍了Scala:用于早期定义/早期初始化器/预初始化字段的示例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Scala 允许您像这样进行早期定义:
Scala allows you to make early definitions like so:
trait A {
val v: Int
}
class B extends { val v = 4 } with A
此功能的使用示例是什么?
What is an example use of this feature?
推荐答案
每当该值用于特征初始化时.所以对于这个特性的例子:
Whenever the value is used for the trait initialization. So for eaxmple for this trait:
trait UsefulTrait {
val parameter : Int
private val myHelperObject = new MyExpensiveClass(parameter)
}
该参数用于替代构造函数参数.但是参数应该是一个抽象的方法,因为它给实现者留下了更多的自由空间.
The parameter is used to substitute for a constructor parameter. However the parameter should be rather made an abstract method, because it leaves more free space to the implementer.
这篇关于Scala:用于早期定义/早期初始化器/预初始化字段的示例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!