J'ai une classe abstraite de base (trait). Il a une méthode abstraite foo()
. Il est étendu et implémenté par plusieurs classes dérivées. Je souhaite créer un trait pouvant être mélangé dans les classes dérivées afin qu'il implémente foo()
et appelle ensuite les classes dérivées foo()
.
Quelque chose comme:
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
J'ai essayé des types individuels et des types structurels, mais je ne peux pas le faire fonctionner.