Из этой главы по программированию в Scala, как предлагает tenhi, у нас есть следующий пример:
class Animal
trait Furry extends Animal
trait HasLegs extends Animal
trait FourLegged extends HasLegs
class Cat extends Animal with Furry with FourLegged
, который выводится в следующий конвейер:
Cat -> FourLegged -> HasLegs -> Furry -> Animal
Таким образом, тот, кто справа, имеет приоритет, но его предки, если они не являются общими предками других на конвейере, также имеют приоритет.Вот почему HasLegs
предшествует Furry
.
Наконец, вот ответ для вашего конкретного примера:
E -> D -> C -> B -> A