kyopa’s blog

自分用プログラミングアウトプット

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を使用する。