AR삽질러

Ruby 例題 - 継承とユーザー入力を活用した動物園 본문

Ruby/Ruby-日本語

Ruby 例題 - 継承とユーザー入力を活用した動物園

아랑팡팡 2023. 12. 19. 15:37
728x90

 

Ruby 例題 - 継承とユーザー入力を活用した 動物園

 

説明
 あなたは動物園管理シミュレーションゲームを開発しています。 このゲームにはさまざまな動物がおり、各動物は特定の行動をとることができます。 基本的な動物クラスがあり、特定の動物はこのクラスを継承して個別の行動を追加で行うことができます。

要求事項

1. Animalという親クラスを作成してください。 このクラスはnameプロパティを持ち、speakというメソッドを持ちます。 speakメソッドは基本的に"I'man animal and my name is [name]"と出力します。
 2. 2つの子クラスLionとMonkeyを生成してください。 これらのクラスはAnimalクラスを継承します。
     - Lionクラスはspeakメソッドをオーバーライディング(再定義)して"Roar! I'm a Lion and my name is [name]"と出力します。

    - Monkeyクラスはspeakメソッドをオーバーライディングします。「Oh ooh aah ah!」 I'm a Monkey and my name is [name]と出力します。
 3. ユーザーに動物の種類(LionまたはMonkey)と名前を入力してください。
 4. 入力された情報に基づいてその動物オブジェクトを作成し、その動物のspeakメソッドを呼び出してください。

class Animal
    attr_accessor :name

    def initialize(name)
        @name = name
    end

    def speak
        puts "私の名前は #{name}"
    end
end

class Lion < Animal
    def speak
        puts "Roar! I'm a Loin and my name is #{name}"
    end
end

class Monkey < Animal
    def speak
        puts "Ooh ooh aah aah! I'm a Monkey and my name is #{name}"
    end
end

print "動物の名前を付けてください : "
animal_name = gets.chomp

animal = Animal.new(animal_name)
animal.speak

print "動物のタイプを選んでください (Lion or Monkey) : "
type = gets.chomp

if type == "Lion"
    lion = Lion.new(animal_name)
    lion.speak
elsif type == "Monkey"
    monkey = Monkey.new(animal_name)
    monkey.speak
else
    puts "間違い。。"
end

 

1. ユーザーが動物の名前を入力します。
2. Animalクラスのインスタンスが生成され、speakメソッドが呼び出され、動物の名前を出力します。
3. ユーザーが動物のタイプ(LionまたはMonkey)を入力します。
4. 入力されたタイプに応じて、該当するクラス(LionまたはMonkey)のインスタンスが生成され、オーバーライディングされたspeakメソッドが呼び出され、特定の動物の特徴的な音と名前を出力します。

 

 

 

 

 

 

 

728x90
반응형
LIST