【发布时间】:2014-01-05 14:27:14
【问题描述】:
在 Scala 中,我们像这样使用 mix-in:
class C extends A with B
我将这个声明理解为C 是A with B 的子类。这是真的?或者C 只是A 和B 的子类(我认为在不支持多继承的JVM 上是不可能的)?
如果A with B 是一个类型,为什么这条线不起作用?
classOf[A with B]
我认为A with B 类型的另一个原因是它可以用于模式匹配:
val c = new C
val u = c match { case a: A with B => 1 } // 1
【问题讨论】:
标签: scala inheritance mixins