Scala入門 その4 トレイト
こんにちは、 @kz_morita です。
Scala 入門 その4 ということで、トレイトについてまとめます。
トレイトの基本 トレイトは、実装をクラスに合成 (Mixin) するために使用されます。
extends または、with によってクラスに Mixin できます。
下記では従業員クラス (Employee) に、Displayable という表示用のトレイトを合成してみます。
// トレイトを定義 trait Displayable { val name: String def display() = { println(name) } } // トレイトを mixin class Employee(val id: Int, val name: String) extends Displayable 以下のように display メソッドをよび出すことができます。
val taro = Employee(1, "Taro") taro.display() // => Taro すでに親クラスがある場合や、複数合成する場合には、with を使用します。
class Person(val name: String) class Employee(val id: Int, name: String) extends Person(name) with Displayable トレイトの特徴として以下のような点があります。