我想继承一些特质C上两个班(AbstractA和AbstractB):
abstract class AbstractA
trait A extends AbstractA
abstract class AbstractB
trait B extends AbstractB
trait C extends A with B
此代码不会被编译:
[错误]非法遗传; 超AbstractA不是混入性状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不是混入性状B的超类AbstractB的子类
你不能从两个不同的类继承,并作为一个结果,你甚至无法从两个特点从两个不同的类继承继承。
AbstractA AbstractB
| |
| |
A B
\ /
\ /
\ /
\ /
C
被这让, C
将两个子类AbstractA
和AbstractB
,这是违法的。
什么是你的使用情况呢?
的性状可以有抽象成员,所以你不应该需要在所有从抽象类继承。