ITPub博客

首页 > 应用开发 > Java > Scala 多继承 & 依赖注入

Scala 多继承 & 依赖注入

原创 Java 作者:破棉袄 时间:2016-12-13 14:24:48 0 删除 编辑
依赖注入:

trait Config {
  load
  val text: String
  def load: Unit
}

trait InMemoryConfig extends Config {
  lazy val text = "Hello"
  def load = println("load: " + text)
}

trait Context

trait MyContext extends Context {
  this: Config =>
  def welcome = this.text
}

object Env extends MyContext with InMemoryConfig

println(Env.text)

结果:
load: Hello
Hello

多继承:
class Person
trait TTeacher extends Person {

  def teach = {println(" TTeacher")}

}
trait TPianoPlayer extends Person {

  def playPiano = {println("I’m playing piano. ")} //实方法,已实现

}
object PianoplayingTeacher extends Person with TTeacher with TPianoPlayer

PianoplayingTeacher.teach
PianoplayingTeacher.playPiano
结果:
 TTeacher
I’m playing piano.





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29754888/viewspace-2130387/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Scala Loan Pattern
请登录后发表评论 登录
全部评论

注册时间:2014-07-16

  • 博文量
    180
  • 访问量
    1111154