使用蛋糕模式,我们可以设置只能直接继承的特征
的成员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
任何解决方案?