Swift的對象和類
- 使用 class 和類名來創(chuàng)建一個類拷沸。
- 類中屬性的聲明和常量色查、變量聲明一樣,唯一的區(qū)別就是它們的上下文是類
- 方法和函數(shù)聲明也一樣
- 要創(chuàng)建一個類的實例撞芍,在類名后面加上括號秧了。使用點(diǎn)語法來訪問實例的屬性和方法。
- swift引入構(gòu)造函數(shù)來初始化類實例序无。使用 init 來創(chuàng)建一個構(gòu)造器
- 使用 deinit 創(chuàng)建一個析構(gòu)函數(shù),要在刪除對象之前進(jìn)行一些清理工作,類似于dealloc
- 子類的定義方法是在它們的類名后面加上父類的名字验毡,用冒號分割
- 子類如果要重寫父類的方法的話,需要用 override 標(biāo)記
- 除了儲存簡單的屬性之外帝嗡,屬性可以有 getter 和 setter 晶通。
Swift的枚舉和結(jié)構(gòu)體
- 使用 enum 來創(chuàng)建一個枚舉,
- 枚舉可以包含方法哟玷。
enum Rank: Int {
case Ace = 1
case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
case Jack, Queen, King
func simpleDescription() -> String {
switch self {
case .Ace:
return "ace"
case .Jack:
return "jack"
case .Queen:
return "queen"
case .King:
return "king"
default:
return String(self.rawValue)
}
}
}
結(jié)構(gòu)體
- 使用 struct 來創(chuàng)建一個結(jié)構(gòu)體
- 結(jié)構(gòu)體和類有很多相同的地方狮辽,比如方法和構(gòu)造器
- 它們之間最大的一個區(qū)別就是結(jié)構(gòu)體是傳值,類是傳引用巢寡。
- mutating 關(guān)鍵字用來標(biāo)記一個會修改結(jié)構(gòu)體的方法
協(xié)議和擴(kuò)展
- 使用 protocol 來聲明一個協(xié)議喉脖。
protocol ExampleProtocol {
var simpleDescription: String { get }
mutating func adjust()
}
- 類、枚舉和結(jié)構(gòu)體都可以實現(xiàn)協(xié)議
- 使用 extension 來為現(xiàn)有的類型添加功能讼渊,比如新的方法和計算屬性
- 可以使用擴(kuò)展在別處修改定義动看,甚至是從外部庫或者框架引入的一個類型,使得這個類型遵循某個協(xié)議爪幻。
泛型
- 在尖括號里寫一個名字來創(chuàng)建一個泛型函數(shù)或者類型菱皆。
-
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者