scala - 如何访问父类(super class)的多个特征之一?

标签 scala

我有一个从其他特征中实现的特征。这些特征中的每一个都会覆盖超特征的行为,并混入一个类中:

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/

相关文章:

scala - 如何使用封装的源和接收器测试 akka 流闭合形状可运行图

scala - 对 Scala 类型参数施加多个泛型类型约束

java - 在Java中的scala.collection.immutable.Vector中间添加元素

maven-2 - jruby 的 Sbt 插件

scala - 从日期中提取字段

scala - Spark 中的分区

reflection - Scala 枚举和反射

scala - 自类型可以与抽象类型一起使用吗?

postgresql - 使用 scala 在 Jooq 中进行事务和条件更新

json - Play 2 作为仅后端 API