Sri*_*vas 0 scala
我正在阅读有关scalatest的内容,而且我很多时候都会遇到这种语法
trait Sample { self : FlatSpec => }
这是什么意思?请举例说明
Bog*_*nko 5
它被称为自我类型.这意味着trait Sample可以从中访问所有成员FlatSpec,但是当您基于此特征创建任何实例时,您必须mixin(组合)此实例与实例FlatSpec.您无法在Sample不提供实现的情况下创建实例,FlatSpec因为Sample可能会使用那里的方法.
Sample
FlatSpec
mixin
这可能看起来有点像继承,但事实并非如此.看到这个答案
注意:self只是对当前对象的引用而不是语法元素.您可以使用任何单词代替self.
self
归档时间:
7 年,2 月 前
查看次数:
61 次
最近记录: