「Swift5」クラスにfinal修飾子を使うサンプル

2022年1月26日

環境
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を禁止する

Swift

Posted by arkgame