「Swift5」Overrideでスーパークラスのメソッドを上書きするサンプル
環境
Swift version 5.2.3 (swift-5.2.3-RELEASE)
Target: x86_64-unknown-linux-gnu
書式
class 親クラス名 { func メソッド名A(){処理コード1} } class サブクラス名: 親クラス名{ override func メソッド名A(){処理コード2} }
使用例
import Foundation //スーパークラスの定義 class Parent { func funA() { print("親クラスのメソッドfunA_tokyo") } func funB() { print("親クラスのメソッドfunB_oosaka") } } //子クラスの定義 クラス「Parent」を継承する class Child: Parent { func funC() { print("子クラスのメソッドfunC_fukuoka") } override func funA() { print("Overrideで親クラスのメソッドfunAをオーバーライドする") } } // Childクラスのインスタンス生成 let sub = Child() //funBを呼ぶ sub.funB() //funCを呼ぶ sub.funC() print("Overrideで親クラスのメソッドを上書き") sub.funA()
実行結果
$ swift 28.swift
親クラスのメソッドfunB_oosaka
子クラスのメソッドfunC_fukuoka
Overrideで親クラスのメソッドを上書き
Overrideで親クラスのメソッドfunAをオーバーライドする