我正在使用scala继承运行一些实验,这就是我发现的:
abstract class MixinTest {
def test
}
trait MyTrait extends TestSuperClass{
def get = 4
}
class TestSuperClass {
def method = 10
}
class Concrete extends MixinTest with MyTrait{ // <---- compile error
override def test: Unit = println("Concrete")
}
错误讯息:
错误:(3,39)非法继承;超类
的超类MixinTest
不是 mixinTestSuperClass
trait MyTrait
的子类
对我来说,为什么禁止这种遗产并不明显?是否有与#34; classic&#34;相同的缺点?多重继承(例如在C ++中)?或者还有其他原因......?