コンテンツへスキップ
uencoder

Trait

トレイトは共有される振る舞いのメソッド群を定義し、型がそれを実装してメソッドを提供する。Rust や Scala のインターフェースと抽象化の仕組みである。

目的

共有振る舞いのインターフェースを定義し、継承よりも合成をサポートする。

メカニズム

トレイトはメソッドシグネチャ(デフォルト実装付きの場合もある)を宣言する。型は impl Trait でメソッド本体を提供する。トレイト境界はジェネリック型を制約し、トレイトオブジェクト(dyn Trait)は動的ディスパッチを可能にし、スーパートレイトは継承を提供する。

ユースケース

  • Rust プログラミング
  • インターフェースの抽象化
  • ジェネリックの制約

References