ENSIMEやめた。
多重継承はできないけど、トレイトを使うことで複数のトレイトをミックスインできる。
scala> trait Programmer {
| def coding = println("コーディングします")
| }
defined trait Programmer
scala>
scala> // クラスが明示的に継承を行わない場合、extendsを使用してトレイトをミックスイン
scala> class Person(val name: String) extends Programmer
defined class Person
scala>
scala> val p = new Person("taro")
p: Person = Person@fd551eb
scala>
scala> p.coding
コーディングします
scala>
scala> trait Designer {
| def design = println("デザインします")
| }
defined trait Designer
scala>
scala> // ほかのクラス/オブジェクトを継承する場合、withキーワードでトレイトをミックスインする
scala> val p = new Person("taro") with Designer
p: Person with Designer = $anon$1@4142991e
scala>
scala> p.coding
コーディングします
scala>
scala> p.design
デザインします
