[Swift] overrideでスーパークラスのメソッドを上書きする
書式
class 子クラス名: 親クラス名 { override func メソッド名() { 処理コード } }
使用例
// 親クラスの定義 class ParentDemo { let num = 30 // 親クラスのメソッド funA func funA() { print(" parent funA 111") } // 親クラスのメソッド funB func funB() { print("parent funB 222") } } // 子クラスの定義 class ChildDemo: ParentDemo { let num2 = 90 func funC() { //子クラスのメソッド print(" child funC 333") } override func funA() { print("Override メソッド名で親クラスのメソッドを上書き 444") } } //子クラスのインスタンスの生成 let cft = ChildDemo() print("結果1") cft.funA() print("結果2") cft.funB() print("結果3") cft.funC() print("クラスのメンバー変数") print(cft.num) print(cft.num2)
実行結果
結果1 Override メソッド名で親クラスのメソッドを上書き 444 結果2 parent funB 222 結果3 child funC 333 クラスのメンバー変数 30 90