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


コメント