Scalaでトレイトを定義する方法を紹介します。
トレイトとは、Javaなどで言うところのインターフェースに相当します。
また、継承することをScalaではミックスインと言います。
トレイトのミックスイン
def main(arts: Array[String]) : Unit = {
val implClass = new ImplimentedClass("実装クラス")
implClass.printValue // =>実装クラス
}
// トレイトの定義
trait SampleTrait {
val value: String
def printValue : Unit = println(value)
}
// トレイトを継承したクラスを定義
class ImplimentedClass(val value: String) extends AnyRef with SampleTrait