railsのsuper
class Human
def eat
puts "ご飯を食べた"
end
end
class Programmer < Human
def work
puts "コードを書いた"
end
end
programmer = Programmer.new
programmer.eat #=> "ご飯を食べた"
ひゅーまんクラス
プログラマークラスがある
プログラマークラスはヒューマンクラスを継承する
そうするとプログラマークラスでeatメゾットを使うことが可能
オーバーライド
親クラスヒューマンくらすを
子クラスで再定義すること(上書き)
上書きしたからプログラマーいーとには急いでご飯を食べたが呼び出された
しかし親クラスで定義したものをずっと使い続けたいケースがある。
class Human
def sleep
puts "寝た"
end
end
class Programmer < Human
def sleep
super
puts "しかし何故かぐっすり眠れない"
end
end
programmer = Programmer.new
programmer.sleep
#実行結果
#寝た
#しかし何故かぐっすり眠れない
そうゆう時にsuperを使用する。