trait 继承 class

  1. 在Scala中trait 也可以继承 class,此时这个 class 就会成为所有继承该 trait 的子类的超级父类。
  2. Class A
  3. Trait B extends A
  4. Class C extends B
  5. Trait D extends B

举例说明:

class MyUtil {
  def printMsg(msg: String) = println(msg)
}
trait Logger_Two extends MyUtil {
  def log(msg: String) = this.printMsg("log: " + msg)
}
class Person_Three(val name: String) extends Logger_Two {
  def sayHello {
    this.log("Hi, I'm " + this.name)
    this.printMsg("Hello, I'm " + this.name)
  }
}
object Person_Three{
  def main(args: Array[String]) {
    val p=new Person_Three("Tom")
    p.sayHello
    //执行结果:
    //      log: Hi, I'm Tom
    //      Hello, I'm Tom
  }
}

你可能感兴趣的:(Scala)