Scala 多重性状的非法遗传

Scala 多重性状的非法遗传,scala,Scala,我想在特性C中继承两个类(AbstractA和AbstractB): abstract class AbstractA trait A extends AbstractA abstract class AbstractB trait B extends AbstractB trait C extends A with B 此代码未编译: [错误]非法继承;超类AbstractA不是 mixin性状B的超类AbstractB 你不能从两个不同的类继承,因此你甚至不能从两个不同类继承的两个特征

我想在特性C中继承两个类(AbstractA和AbstractB):

abstract class AbstractA
trait A extends AbstractA

abstract class AbstractB
trait B extends AbstractB

trait C extends A with B
此代码未编译:

[错误]非法继承;超类AbstractA不是 mixin性状B的超类AbstractB


你不能从两个不同的类继承,因此你甚至不能从两个不同类继承的两个特征继承

 AbstractA  AbstractB
    |           |
    |           |
    A           B
     \         /
      \       /
       \     /
        \   /
          C
如果允许的话,
C
将是
AbstractA
AbstractB
的子类,这是非法的


你的用例是什么

trait可以有抽象成员,因此您根本不需要从抽象类继承