Scala 多重性状的非法遗传
我想在特性C中继承两个类(AbstractA和AbstractB):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 你不能从两个不同的类继承,因此你甚至不能从两个不同类继承的两个特征
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可以有抽象成员,因此您根本不需要从抽象类继承