Swift類


Swift 4中的類是靈活構造的構建塊。 與常數,變數和函式類似,使用者可以定義類的屬性和方法。 Swift 4提供了一些功能,在宣告類時,使用者無需建立介面或實現檔案。 Swift 4允許將類建立為單個檔案,並且當初始化類後,預設情況下將建立外部介面。

使用類的好處 -

  • 繼承並獲取另一個類的屬性
  • 型別轉換使使用者可以在執行時檢查類型別
  • 去初始化器負責釋放記憶體資源
  • 參照計數允許類範例具有多個參照

類和結構體的共同特徵 -

  • 定義屬性以儲存值
  • 定義下標用於提供對值的存取
  • 初始化方法以改進功能
  • 初始狀態由初始化器定義
  • 功能擴充套件超出預設值
  • 確認協定功能標準

語法

Class classname {
   Definition 1
   Definition 2
   --- 
   Definition N
}

類定義

class student {
   var studname: String
   var mark: Int 
   var mark2: Int 
}

建立範例的語法 -

let studrecord = student()

範例程式碼

class MarksStruct {
   var mark: Int
   init(mark: Int) {
      self.mark = mark
   }
}

class studentMarks {
   var mark = 300
}

let marks = studentMarks()
print("Mark is \(marks.mark)")

當使用playground 執行上述程式時,得到以下結果 -

Mark is 300

存取類屬性作為參照型別

可以通過.操作符來存取類屬性。 在範例名稱之後由.連線屬性名稱。參考以下範例程式碼 -

class MarksStruct {
   var mark: Int
   init(mark: Int) {
      self.mark = mark
   }
}

class studentMarks {
   var mark1 = 300
   var mark2 = 400
   var mark3 = 900
}

let marks = studentMarks()
print("Mark1 is \(marks.mark1)")
print("Mark2 is \(marks.mark2)")
print("Mark3 is \(marks.mark3)")

當使用playground 執行上述程式時,得到以下結果 -

Mark1 is 300
Mark2 is 400
Mark3 is 900

類標識運算子

Swift 4中的類指的是指向單個範例的多個常數和變數。 要了解指向類範例的常數和變數,請使用識別符號運算子。 類範例始終通過參照傳遞。 在類中,NSStringNSArrayNSDictionary範例始終作為對現有範例的參照,而不是作為副本進行分配和傳遞。

相同運算子 不同運算子
使用的運算子是(===) 使用的運算子是(!==)
當兩個常數或變數指向同一個範例時返回true 當兩個常數或變數指向不同的範例時返回true

範例程式碼 -

class SampleClass: Equatable {
   let myProperty: String
   init(s: String) {
      myProperty = s
   }
}

func ==(lhs: SampleClass, rhs: SampleClass) -> Bool {
   return lhs.myProperty == rhs.myProperty
}

let spClass1 = SampleClass(s: "Hello")
let spClass2 = SampleClass(s: "Hello")

spClass1 === spClass2 // false
print("\(spClass1)")

spClass1 !== spClass2 // true
print("\(spClass2)")

當使用playground 執行上述程式時,得到以下結果 -

main.SampleClass
main.SampleClass