広告スペース(バナー)
レッスン 16 / 20

トレイト(trait)

このレッスンでは、複数の型に共通の振る舞いを持たせるトレイト(trait)の使い方を学びます。「Rust trait 使い方」で調べている方向けです。

traitは、他の言語のインターフェースに近い仕組みで、「この型はこのメソッドを持っている」という約束を定義します。impl トレイト名 for 型名という書き方で、具体的な型に実装を与えます。

サンプルコードでは、trait Speak { fn speak(&self) -> String; }というトレイトを定義し、Dog構造体にimpl Speak for Dogで実装しています。

初心者がよくつまずくのが、トレイトの「宣言」(何ができるべきか)と「実装」(実際にどう動くか)が分かれていることです。この分離のおかげで、既存の型に後から新しい振る舞いを追加することもできます。

実際の開発現場では、複数の型に共通のインターフェースを持たせたい場面(例えば「表示できる」「比較できる」など)で、トレイトが幅広く使われます。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではRustを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
鳴き声を返す動物のような、共通の振る舞いを持つ型が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)