「Scala」の版間の差分
削除された内容 追加された内容
→クラス: Fix ln タグ: 2017年版ソースエディター |
→トレント: トレイト('''trait''')は、Javaのインターフェースと抽象クラスの中間的な存在です。 実装を持ったインターフェースで、コンストラクタのパラメータを持つことができませんが、ミックスイン(''mix-in'')することが出来ます。 タグ: 2017年版ソースエディター |
||
890 行
== トレント ==
トレイト('''trait''')は、
実装を持ったインターフェースで、コンストラクタのパラメータを持つことができませんが、ミックスイン(''mix-in'')することが出来ます。
* 抽象クラスと同様に、トレイトは具象メンバを持つことができますが、インスタンス化することはできません。
* インターフェイスと同様に、クラスは複数のトレイトのメンバを継承することができます。
* クラスはトレイトで拡張することができます。<syntaxhighlight lang=Scala>
</syntaxhighlight>
class C extends D with T { /* ... */ }▼
* クラスや他の特徴を継承することができます。<syntaxhighlight lang=Scala>
trait T1 extends Class1 { ... }
trait T2 extends Trait1 { ... }
</syntaxhighlight>
* クラス、オブジェクト、トレイトはトレイトの中で混在することができます。<syntaxhighlight lang=Scala>
val obj = new Class1() with Trait1 with Trait2 with Trait3 { ... }
</syntaxhighlight>
== 脚註 ==
|