私は、Scalaでは、次のコードをお持ちの場合:スカラ - 共通の特徴の第二世代の継承
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 */ }
どのようにコンパイラが依存関係をRESOLUTEでしょうか?言い換えれば、2つの異なる形質BおよびCから継承された形質Dおよび対象EのA形質が関連する部分は、単一のものとして扱われなければならず、相続のすべての場合に複製されないことを理解するだろうか?どのようにしても、その状況でコンパイラの考えはどのように見えますか?
だから、ここ同じ変数であるように見えるものを、タイプのその変数をシャドウイングによって線形され、相続命令の左端を配置しました右に位置するものは1つですか? – noncom