我遇到了这段代码。
abstract class Tagged(private var t: Int) { self =>
...
}
我知道以下意味着Tagged和B的依赖关系,但无法理解上述问题,是否可以解释其中的差异?感谢
abstract class Tagged(private var t: Int) { self:B =>
...
}
答案 0 :(得分:4)
第一个表单引入了this
的别名;第二种形式限制了自我类型。
例如,在scala.Enumeration中,thisenum
用作嵌套类的Enumeration.this
的别名。在规范的更改日志附录中,它表示别名被设计为替换语法。