by shigemk2

当面は技術的なことしか書かない

トレイトでsuper

superを利用してトレイトのwriteを呼び出す。

trait Programmer {
  def write = println("コードを書きます")
}

trait Writer {
  def write = println("記事を書きます")
}

class Person extends Programmer with Writer {
  override def write = super.write
}


object Write {
  def main(args: Array[String]) {
    var p = new Person
    println(p)
    println(p.write)
  }
}
$ scalac write.scala
$ scala Write
Person@46fde259
記事を書きます