我有一个从其他特征中实现的特征。这些特征中的每一个都会覆盖超特征的行为,并混入一个类中:
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
}
现在,在
C
类中,我想访问的不是最后一个混合特性的行为,而是这些特性之一的行为。这可能吗?
最佳答案
可以将 super 调用专门用于特定特征:
class C extends T with T1 with T2 {
def printName = super[T1].name
}
关于scala - 如何访问父类(super class)的多个特征之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7526653/