「Swift5」クラスにfinal修飾子を使うサンプル
環境
Swift version 5.2.3 (swift-5.2.3-RELEASE)
Target: x86_64-unknown-linux-gnu
書式
class 親クラス名{
final func 関数名A() {処理コード}
}
class 子クラス名: 親クラス名{
func 関数名B() {処理コード}
}
使用例
import Foundation
//親クラスの定義
class Parent {
final func funA() {
print("スーパークラスの関数funAを呼び出しますAAA")
print("finalをつけて継承とOverrideを禁止する")
}
}
//子クラスは親クラスの継承
class Child: Parent {
func funB() {
print("子クラスの関数funBを呼び出しますBBB")
}
}
let tA = Child()
print("result 11")
tA.funA()
let tt = Parent()
print("result 22")
tt.funA()
実行結果
result 11
スーパークラスの関数funAを呼び出しますAAA
finalをつけて継承とOverrideを禁止する
result 22
スーパークラスの関数funAを呼び出しますAAA
finalをつけて継承とOverrideを禁止する