读完这篇博文后,我不明白:
使用自类型注释与为依赖注入指定构造函数参数有什么区别?
换句话说,这种风格有什么区别:
object Main {
def main(args: Array[String]) {
val barWithFoo = new BarUsingFooAble with MyFooAble with BazAble
println(barWithFoo.bar())
}
}
和这个:
object Main {
def main(args: Array[String]) {
val barWithFooAndBaz = new BarUsingFooAble(new FooAble with BazAble)
println(barWithFooAndBaz.bar())
}
}
而这个(第三个选项):
object Main {
def main(args: Array[String]) {
val barWithFoo = new BarUsingFooAble with FooAbleComponent with BazAbleComponent {
val bazAble = new BazAble() //or any other implementation
val fooAble = new FooAble() //or any other implementation
}
println(barWithFoo.bar())
}
}
?
有没有(超出语法)?(必须有,否则自类型注释将不存在)。
编辑:
这似乎是相关的问题,尽管它没有回答这个问题。
这也是相关的,所以这两种风格基本上没有区别?