Swift3.0-繼承、構造、類擴充套件
阿新 • • 發佈:2019-02-02
繼承(inherit)單向關係
1、定義:某個類通過繼承語法而獲取另一個類的屬性和方法。
2、最大好處:實現程式碼複用(父類中的屬性和方法可以被子類直接使用),子類還可以拓展父類的方法和屬性
3、缺點:增加了程式“耦合性”(如:父類發生改變,子類程式碼可能需要重新構造,相關程式碼也需要重新編譯)
4、Swift中只有單繼承(通過“擴充套件”和“協議”實現多繼承)
5、!!!繼承是類與結構和列舉等型別最重要的區別之一
6、!!!Swift中不僅可以重寫方法還可以重寫屬性
構造方法(構造一個物件時被呼叫的方法)
構造方法最主要的作用就是:對物件進行初始化(即給物件所佔用的記憶體進行初始化)
/* * 類擴充套件(extension關鍵字) 給現有類新增一個方法,缺點是不能擴充套件增加儲存屬性 */ class Person { var height:Double? var sex:Bool = true } extension Person{ //擴充套件的構造方法 convenience init(height:Double){ self.init() self.height = height } //擴充套件的計算屬性 var standardWeight:Double{ let e = self.sex ? 22.0 : 20.0 return height! * height! * e } //擴充套件的普通方法 func getResults() -> String { return "計算體重" } } var p = Person(height:2.3) print(p.standardWeight) print(p.getResults())