アマグラミング

プログラミング初心者が勉強したことを復習とメモがてら書いているだけです。

(51)superを使ってオーバーライドしたメソッドを呼び出す

親クラスと子クラスで同名のメソッド名を持っているとして

superというものを使うと親クラスの同名のメソッドを呼び出して、

実行します。

うーん、なんて言えばいいんだろう。

 

親クラスのメソッドを子クラスでオーバーライド(定義し直した時)

superを使うと、親クラスのメソッドを実行してくれるんです。

 

 

ちょっと書いてみます。見たほうが早いかもしれない。

 

class Cats

def looks

puts "可愛い"

puts "4本足"

end

end

class Kitten < Cats

def looks

super

puts "何にでも興味を示す"

puts "落ち着きなく動き回る"

end

end

cat = Kitten.new

cat.looks

 

これを実行すると

f:id:tiroru17:20170620041201p:plain

 

このようになるということです。

親クラスのlooksメソッドの中を呼び出しています。