0

使用 cake 模式,我们可以设置一个成员只能被直接继承的 trait 访问

trait A { val a = 1 }
trait B { this: A => val b = a + 1 } // can access a 
trait C { this: B => val c = a + 1 } // will throw error because C cannot access a

我想使用access modifier而不是应用此成员访问逻辑self annotation

例如,

trait A { protected[B] val a = 1 } 
trait B extends A { val b = a + 1 } 
trait C extends B { val c = a + 1 } // I want this to throw an error 

有什么解决办法吗?

4

0 回答 0