「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をオーバーライドする