概要
複数実装したトレイトの名前(シグネチャ)が同じ場合、
これらをまとめてミックスインしたらエラーになるので、
そのメソッドは必ずオーバーライドする必要がある。
コード
trait Programmer { def write = println("コードを書きます") } trait Writer { def write = println("記事を書きます") } // このまま書くとerror: class Person inherits conflicting members:とかなる // class Person extends Programmer with Writer class Person extends Programmer with Writer { // なのでwriteメソッドをオーバーライドする必要がある override def write = println("ドキュメントを書きます") } object Write { def main(args: Array[String]) { var p = new Person println(p) println(p.write) } }