今日はオーバーライドを学んでみた!
今日の学び
オーバーライド
- 親クラスにあるメソッドと同じ名前のメソッドを子クラスで定義するとメソッドを上書きすることができる
- 例
class Food < Menu
- :
def info→親クラスと同じメソッドを上書き
- :
end
end
- 例
- 子クラスのインスタンスでは子クラスで定義したメソッドを優先して呼び出すため、親クラスに同名のメソッドがある場合は上書きされた子クラスのメソッドが優先的に呼び出される
initializeメソッドのオーバーライド
- initializeメソッドも子クラスでオーバーライドできる
- 例
*def initialize(name:,price:,calorie:)
*self.name=name
*self.price=price
*self.calorie=calorie
end
- 例