Rubyで継承を使って小型犬・大型犬を表現する方法

Ruby

Rubyではクラス継承を利用することで、一般的な犬の特徴をもつ親クラスから、小型犬や大型犬などの特定の種類を表すサブクラスを作成できます。これによりコードの再利用性が高まり、共通の動作や属性を親クラスにまとめられます。

基本のクラス設計

まず、犬の共通の属性やメソッドをもつ親クラス「Dog」を作ります。

class Dog
  attr_accessor :name, :age

  def initialize(name, age)
    @name = name
    @age = age
  end

  def bark
    puts "ワンワン!"
  end
end

小型犬クラスと大型犬クラスの継承例

親クラスDogを継承して、小型犬クラスと大型犬クラスを作成します。独自のメソッドや属性を追加することも可能です。

class SmallDog < Dog
  def size
    "小型犬です"
  end
end

class LargeDog < Dog
  def size
    "大型犬です"
  end
end

利用例

作成したクラスを利用して、オブジェクトを生成し、メソッドを呼び出す例です。

puchi = SmallDog.new("プチ", 3)
puts puchi.name      # プチ
puts puchi.size      # 小型犬です
puchi.bark           # ワンワン!

max = LargeDog.new("マックス", 5)
puts max.name        # マックス
puts max.size        # 大型犬です
max.bark             # ワンワン!

まとめ

Rubyではクラス継承を使うことで、共通の属性や動作をまとめつつ、小型犬や大型犬などの特定の種類を簡単に表現できます。これによりコードの保守性が高まり、拡張もしやすくなります。

コメント

タイトルとURLをコピーしました