広告スペース(バナー)
🔺Scala レッスン
基本文法の基礎7▾
関数型プログラミングの基礎4▾
レッスン 13 / 20
継承とtrait
このレッスンでは、クラスの継承と、複数の型に共通の機能を持たせるtraitの使い方を学びます。「Scala trait 使い方」で調べている方向けです。
traitは、他の言語のインターフェースに近い仕組みですが、実装(処理の中身)も持てるのが特徴です。class 名前 extends トレイト名という書き方で使います。
サンプルコードでは、trait Speakable { def speak(): String }というトレイトを定義し、class Dog extends Speakableで実装しています。
初心者がよくつまずくのが、traitと通常のクラス継承(extends)の使い分けです。Scalaのクラスは1つしか継承できませんが、traitはwithを使って複数組み合わせられます。
実際の開発現場では、「鳴くことができる」「比較できる」のような、複数の型に横断的に持たせたい機能をtraitとして定義することがよくあります。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではScalaを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
鳴くことができる犬のような、共通の振る舞いを持つオブジェクトが作れるようになります。
鳴くことができる犬のような、共通の振る舞いを持つオブジェクトが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)