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