Предположим, у меня есть следующие черты:Переопределить метод реализации с использованием суперкласс/черта
trait A {
val a: String = "a"
}
trait B {
def a: String = "b"
}
И я хочу, чтобы смешать обе эти черты в какой-то класс C
class C extends B with A
Компилятор не позволяет мне создать такой класс, потому что я должен переопределить метод a
Я хочу переопределить его usi например, только A
. Как я могу это сделать?
EDIT
scala> class C extends B with A {
| override val a = super.a
| }
<console>:10: error: super may be not be used on value a
override val a = super.a
^
это не будет компилировать – maks
Вы объединили 'def' и' val' в чертах? Какую версию scala вы используете? – petrbel