首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Swift 2 學習筆記 Day 47:final 關鍵字防止繼承與覆寫

     編輯:關於C語言

final 關鍵字用法總覽

在類別、屬性、方法、下標前加上 final,可分別禁止:

  • final class:類別不可被繼承
  • final var/let:屬性不可被覆寫
  • final func:實例/類別方法不可被覆寫
  • final subscript:下標不可被覆寫

程式碼範例:完整限制繼承與覆寫

final class Person {
    var name: String
    final var age: Int

    final func description() -> String {
        return "\(name) 年齡是: \(age)"
    }

    final class func printClass() {
        print("Person 列印...")
    }

    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
}

// 編譯錯誤:Person 已標記 final,不可繼承
class Student: Person {
    var school: String
    // ... 以下皆會產生編譯錯誤 ...
    override func description() -> String { ... }
    override class func printClass() { ... }
    override var age: Int { ... }
}

編譯器報錯說明

嘗試繼承 final class 或覆寫 final 成員時,編譯器將回報錯誤,確保類別設計意圖在編譯期即被強制執行。

最佳實務:當確定某類別或成員不應被修改時(如核心基礎類別、關鍵演算法實作),主動加上 final 可提升程式碼安全性,並讓編譯器優化效能(靜態分派替代動態分派)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved