Ответ 1
Можно запрограммировать супервызов на определенный признак:
class C extends T with T1 with T2 {
def printName = super[T1].name
}
У меня есть черта, которая реализована по некоторым другим признакам. Каждая из этих черт переопределяет поведение супертроя и смешивается с классом:
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
, я хочу получить доступ к поведению не последнего смешанного признака, а поведения одного из этих признаков. Возможно ли это?
Можно запрограммировать супервызов на определенный признак:
class C extends T with T1 with T2 {
def printName = super[T1].name
}