Overrideは、継承したスーパークラスのメソッドを上書きする方法だよ。
継承した親クラスの一部のメソッドの中身を変更したい場合に有効だよ。
SwiftでOverride(オーバーライド)する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
class SuperClass { func hello() { print("こんにちは") } func wei() { print("うぇーい") } } class SubClass: SuperClass { func bye() { print("じゃあの") } override func hello() { print("こんちわ〜") } } let sub = SubClass() sub.wei() // "うぇーい" sub.bye() // "じゃあの" sub.hello() // "こんちわ〜" |
SuperClassを継承したSubClassでは、helloメソッドとweiメソッドがあるけど、何もしなくてもサブクラスで呼び出すことが可能だよ。
でも上記の例のように override メソッド名 でスーパークラスのメソッドを上書きできるよ。
overrideについてはSwiftでは省略不可能なのでしっかりつけよう。
もちろん上書きをするので、メソッド名は同じじゃないといけないよ。