我想知道Trait
的所有方法是否都是在扩展此Trait
的类中导入的,还是仅用于已使用的方法?
依赖注入?
答案 0 :(得分:1)
除了标记为private
的方法之外,扩展实体都可以使用其他所有方法。扩展实体可以选择覆盖或保留未实现的,在这种情况下,该实体的子级必须处理它。
trait A {
private def a: Int = 1 //not available
protected def b: Int = 2 //available inside extending entity
def d: Int = 3 //available everywhere
}
class B extends A {}
val x = new B()
x.a //error
x.b //error
x.d //prints 3
来依赖注入
假设A和B是两个不保持父/子关系的接口或特征。
如果您将一个实体注入其他实体。该实体的所有公共方法都可以被其他
访问