##メソッドのオーバーライド
親クラスを継承した子クラスで同じメソッドを定義するとメソッドがオーバーライドされる。
class Parent
def talk
puts '早く寝なさい'
end
end
class Child < Parent
def talk
puts '眠い'
end
end
p = Parent.new
p.talk
#=> 早く寝なさい
p = Child.new
p.talk
#=> 眠い
##super
オーバーライドされる前のメソッドを呼び出すことができるメソッド。
super
で親クラスのtalk
メソッドを呼び出している。
class Parent
def talk
puts '早く寝なさい'
end
end
class Child < Parent
def talk
super
puts '眠い'
end
end
p.talk
#=> 早く寝なさい
#=> 眠い
##参考