在Scala中,我們使用混合式這樣的:「A with B」是什麼類型?
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