Swift 中如何定義基類?


在 Swift 中,您可以使用 class 關鍵字定義基類。基類可用於使用單個類實現通用屬性。您可以像下面這樣在類中定義屬性和方法:

class MyBaseClass {
   // properties and methods go here
}

子類也由 class 關鍵字定義。類似地,您可以在類中定義屬性和方法。要使其成為子類,您必須在冒號後提及父類,並在父類名稱之後提及,如下所示:

class MySubclass: MyBaseClass {
   // additional properties and methods go here
}

子類繼承其基類所有屬性和方法,並且還可以新增自己的屬性和方法。

示例

以下是 Swift 中基類的示例:

class Vehicle {    
   var make: String
   var model: String
   var year: Int
    
   init(make: String, model: String, year: Int) {
      self.make = make
      self.model = model
      self.year = year
   }    
   func drive() {
      print("The \(make) \(model) is driving.")
   }
}

在此示例中,Vehicle 是基類。它具有三個屬性:make、model 和 year,以及一個設定這些屬性值的初始化程式。

它還有一個功能 drive(),可以呼叫它來列印一條訊息。

示例

以下是繼承自 Vehicle 的子類的示例:

class Car: Vehicle {    
   var numDoors: Int
   var isConvertible: Bool
    
   init(make: String, model: String, year: Int, numDoors: Int, isConvertible: Bool) {
      self.numDoors = numDoors
      self.isConvertible = isConvertible
      super.init(make: make, model: model, year: year)
   }    
   override func drive() {
      print("The \(make) \(model) is a car and made in the \(self.year) year.")
   }
}
let carObject = Car(make: "Tata", model: "Nano", year: 2016, numDoors: 4, isConvertible: true)
carObject.drive()

輸出

The Tata Nano is a car and made in the 2016 year.

在 Swift 中使用基類有幾個優點

  • 可重用性 - 透過使用具有通用特徵(如屬性和方法)的超類,您可以與多個子類共享程式碼。而不是編寫通用功能增加程式碼長度。程式碼重複可能會導致難以維護。

  • 抽象 - 您可以使用基類為集合建立抽象介面。這將有助於減少子類和超類之間的耦合。您可以幫助隱藏子類的基本實現,使其不會出現在使用它的程式碼中。

  • 多型性 - 子類能夠覆蓋基類屬性和方法,同時保持介面相容性。這使得來自不同子類的物件能夠表現出多型性,即它們可以被視為來自基類的物件。

  • 繼承 - 子類可以繼承其基類中的每個屬性和方法,從而節省了不必兩次宣告它們的時間,並提高了程式碼的可讀性。它將幫助您減少程式碼重複。

  • 程式碼組織 - 當相關類以邏輯方式組織到基本類中時,大型程式碼庫可能變得更容易理解和瀏覽。透過對超類進行單一修改,您可以輕鬆地在整個應用程式中進行更改。

結論

總之,Swift 中的 class 關鍵字可用於定義基類。此外,透過命名父類,您可以定義子類。您可以透過定義基類來在一個類中組織通用屬性和方法。它提供靈活性以提高可維護性並減少程式碼重複。

使用 class 關鍵字,父類和子類定義是等效的。您可以透過建立基類在基類本身中編寫共享程式碼。要成功地在 Swift 中使用基類,瞭解其優勢和潛在應用至關重要。

更新於: 2023年2月28日

241 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.