我有一个从其他一些特征实现的特征.这些特征中的每一个都会覆盖超级视图的行为,并且会混合到一个类中:
trait T {
def name = "t"
}
trait T1 extends T {
abstract override def name = "t1"
}
trait T2 extends T {
abstract override def name = "t2"
}
class C extends T with T1 with T2 {
def printName = super.name
}
Run Code Online (Sandbox Code Playgroud)
现在,在课堂上,C我想要访问不是最后一个混合特征的行为,而是访问其中一个特征的行为.这可能吗?
kir*_*uku 27
可以将超级调用专门化为特定特征:
class C extends T with T1 with T2 {
def printName = super[T1].name
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1204 次 |
| 最近记录: |