##環境
Ruby 3.0.2
Rails 6.1.4.1
##抽象クラスとは
抽象クラスは、その特徴としてクラス自身はオブジェクトの実体、インスタンスを生成できない。
抽象クラスは主にそのクラスを親クラス(基本クラス)とした子クラス(派生クラス)を定義(継承)する前提で作製されるクラス。
Rubyではサポートされてないけどそれっぽいものを作れる。
class Parent
def method_1
raise 'implement this method in subclass'
end
end
class Child < Parent
def method_1
'hogehoge'
end
end
parent_class = Parent.new
parent_class.method_1
# => RuntimeError: implement this method in subclass
child_class = Child.new
child_class.method_1
# => 'hogehoge'