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中的類指的是指向單個實例的多個常量和變數。 要瞭解指向類實例的常量和變數,請使用識別字運算符。 類實例始終通過引用傳遞。 在類中,NSString
,NSArray
和NSDictionary
實例始終作為對現有實例的引用,而不是作為副本進行分配和傳遞。
相同運算符 | 不同運算符 |
---|---|
使用的運算符是(=== ) |
使用的運算符是(!== ) |
當兩個常量或變數指向同一個實例時返回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