У меня есть базовый абстрактный класс (признак). Он имеет абстрактный метод foo()
. Он расширен и реализован несколькими производными классами. Я хочу создать черту, которая может быть смешана с производными классами, так что она реализует foo()
, а затем вызывает производный класс foo()
.
Что-то вроде:
trait Foo {
def foo()
}
trait M extends Foo {
override def foo() {
println("M")
super.foo()
}
}
class FooImpl1 extends Foo {
override def foo() {
println("Impl")
}
}
class FooImpl2 extends FooImpl1 with M
Я пробовал типы типов и структурные типы, но я не могу заставить его работать.