自身类型是声明一个特质必须混入另外一种特质的方法,即使它并不继承。这使得不需要引入就可以使用依赖的成员。
自身类型可以缩短this类型或者其他别名为this的标识符。这种语法看起来像是普通的函数语法,但意思是完全不同的。
为了在特质中使用自身类型,需要写一个混入的其他特质的类型的标识符,以及一个=>(例如someIdentifier: SomeOtherTrait =>)。
1 | trait User { |
当我们在trait Tweeter中写到this: User =>,这时在tweet方法中username变量便处于作用域当中。这也意味着VerifiedTweeter要继承Tweeter的话,还必须要混入User(使用with User)。