为什么不混合不能超级超级的特质?

时间:2016-08-12 09:48:25

标签: scala inheritance

我正在使用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不是   mixin TestSuperClass

的超类trait MyTrait的子类

对我来说,为什么禁止这种遗产并不明显?是否有与#34; classic&#34;相同的缺点?多重继承(例如在C ++中)?或者还有其他原因......?

0 个答案:

没有答案