Scala 是否使用此关键字来继承?
可能重复:Scala 是否使用此关键字来继承?,scala,this,Scala,This,可能重复: 从。有一件事我真的不明白 trait FunSuiteStackBehaviors { this: FunSuite => //This line def a() {} def b() {} } class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {} 据我
从。有一件事我真的不明白
trait FunSuiteStackBehaviors {
this: FunSuite => //This line
def a() {}
def b() {}
}
class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {}
据我所知,他们似乎试图将一些DEF分配到某个特征中。但是this:FunSuite=>
part做什么呢?我试着用extends FunSuite来代替
trait FunSuiteStackBehaviors extends FunSuite {
def a() {}
def b() {}
}
class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {}
我还是得到了同样的结果。它们是一样的吗?
这个:FunSuite=>
称为自类型注释。“this”
没有什么特别之处,这两个代码段是等效的。关于其基本原理的一些讨论。简言之,自我类型注释有助于表示组成的性质,而不是自我类型注释。this:=>XXXX称为自我类型注释
基本上,您将“this”(当前对象)的类型指定为指定的类型。有点像“从内部铸造”这是一种自我类型。嗯,当我尝试搜索时,这些问题不会出现。谢谢你指出这一点。