如果我在斯卡拉以下代码:斯卡拉 - 一个共同的特点的第二代继承
trait A {
var yo = 10
def get = yo
}
trait B extends A { /* makes use of A.get */ }
trait C extends A { /* makes use of A.get */ }
trait D extends B with C { /* makes use of A.get */ }
class E extends D { /* makes use of A.get */ }
如何将编译器果断的依赖?换句话说,它是否理解特质D和对象E的A特征相关部分,从两种不同的特征B和C中继承而来,必须被视为单一的东西,而不是为每一个继承的情况重复?无论如何,编译器的想法在这种情况下会是什么样子?
那么,什么似乎这里是相同的变量,将阴影类型的变量进行线性化处理,放置在继承指令最左边通过一个位置更靠右? – noncom 2012-02-22 10:07:22