広告スペース(バナー)
💎Ruby レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 9 / 68
クラスを使ってみよう(オブジェクト指向)
このレッスンでは、Rubyのclass構文を使ったオブジェクト指向プログラミングの基本を学び、共通の性質を持つデータをまとめて扱えるようになることを目標にします。「Ruby class 使い方」で調べている方向けです。
class ... endでクラスを定義します。initializeは初期化用の特別なメソッド、@で始まる変数はインスタンス変数です。「動物の設計図」があれば「犬」「猫」といった具体的なインスタンスを何個でも作れるイメージです。
サンプルコードでは、Animalクラスに@nameと@soundというインスタンス変数を持たせ、speakメソッドで鳴き声のメッセージを組み立てています。Animal.new("犬", "ワン")で作ったインスタンスに対してdog.speakを呼び出している点も確認してみましょう。
初心者がよくつまずくのが、@付きの変数と普通の変数の違いです。@で始まるインスタンス変数は、そのオブジェクトが存在する限りずっと値を保持し続ける、オブジェクト指向の基本です。@がない普通の変数はメソッドを抜けると消えてしまいます。
attr_accessorという仕組みを使うと、ゲッター・セッターを自動的に生成してくれる便利な機能もあります。実務のRubyコードでは、このattr_accessorが頻繁に使われています。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではRubyを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
複数のキャラクターを管理する、簡単なミニゲームの土台が作れるようになります。
複数のキャラクターを管理する、簡単なミニゲームの土台が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)