Scala - 可直接继承类的可访问成员

时间:2016-11-06 05:36:58

标签: scala access-modifiers cake-pattern

使用蛋糕模式,我们可以设置只能直接继承的特征

的成员
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 

任何解决方案?

0 个答案:

没有答案