non*_*com 7 import inheritance scala
我有以下代码:
trait A {
import org.somepackage.C._
}
class B extends A {
def getValue = value
^^^^^
}
object C {
var value = 5
}
Run Code Online (Sandbox Code Playgroud)
类中的值B是不可见的,这意味着类的固有导入A没有被继承B,尽管value内部完全可见A.如何实现继承导入的效果,以便我可以避免在特性A混合的多个类中显式导入相同的东西?
mis*_*tor 11
不是第一类实体的进口不会表现出您期望的行为.相反,您可以重新构建您的设计以实现紧密结合:
trait A with C {
}
class B extends A {
def getValue = value // Now this will work.
}
trait C {
var value = 5
}
object C extends C
Run Code Online (Sandbox Code Playgroud)
Scalaz 6中使用这个习惯用法对用户进行尽可能少的导入.