我从另一个问题中找到了这篇文章:
“[...] 一个扩展类的特质会对可以扩展该特质的类做出限制 - 也就是说,所有混入该特质的类都必须扩展该类”
以下是一个小例子:
class C
trait U
trait T extends C
class D extends U with T // does not work
class E extends T with U // works
显然,当特征从类继承时,您必须将特征放在您原本会放置类的位置(即直接在 extends 后面)
现在是我的问题:
(扩展前面的示例)
class C
class Test
trait U
trait T extends C
trait Tst extends Test
class D extends U with T // does not work
class E extends T with U // works
class Test2 extends Tst with T
- 当我们想从两个不同的 traits 继承时,每个 traits 都继承自不同的类,我们该怎么办?(请参见 Test 2 类)这似乎是不可能的。
- 如果我们需要注意扩展类的 traits 的位置,那么 traits 是如何工作的呢?从类继承的 traits 不再是“正常”的 traits 吗?