//繼承1防止**冗餘2擴充套件功能
//1繼承的定義
//2繼承屬性
//3子類不僅可以繼承父類的屬性,還可以繼承在屬性中的新增的屬性監視器
class
stepcounter
didset(old) }}
}class
stepcounter:stepcounter
let counter=stepcounter()
counter.totalsteps=10
counter.totalsteps=100
//4下標指令碼的繼承
class
sorce }}
}class
childsorce: sorce
let myscore=childsorce()
print(myscore[0])
print(myscore[1])
//5方法的繼承
//6繼承的特點 在swift 中1>只支援單繼承, 但乙個父類可以多個子類,成樹型結構2>不可以刪除父類的屬性
//7重寫
//class
newclass
class
varclassvalue:int
}class
newclass1: newclass
override
class
varclassvalue:int
}let cls = newclass1()
print(cls.value)
print(newclass1.classvalue)
// ~~~~3新增屬性監視器
class
car
class
automiccar: car
}}let automic = automiccar()
automic.speed=34.00
automic.speed=6886.00
// ~~~~~4重寫下標指令碼
class
childsorce111: sorce
}//~~~~~5重寫方法
//重寫的注意事項
//@1不可以省略override
//@方法相同才能重寫 ,父類沒有的,怎麼重寫
//8訪問父類的成員
// 1>訪問屬性 super.屬性名
// 2>訪問下標指令碼 suer[index]
// 3>訪問方法 super.方法名(引數名)
// 4>訪問型別屬性
//9防止重寫
// 將所有的屬性,下標指令碼,方法,型別屬性 前面加乙個 final (最終) 就可以達到防止子類重寫了
//10型別檢查
//型別檢查是一種檢查類例項的方式
// 1> 型別檢查 is
// 用法 例項 is 子型別
// @1,不能總是true
// @2 例項是特定的子型別
class
classa
class
classa1:classa
class
classa2:classa
class
classa3:classa
class
classa4:classa
class
classb:classa
class
classc
let b = classb()
if b is classb
else
let a = classa()
if a is classc
else
// 2 as
//開發者希望程式在執行期間進行型別轉換 ,這時就需要強制轉化as 或者可選的型別檢查符 as?
// 例項 as 型別
// >1強制型別的轉換
let bb=classb()
let clsbb = bb as classb
print("clsbb.movie==\(clsbb.movie)")
//注意 @1相同型別的例項:在乙個要檢查型別的陣列只可以存相同的型別
////let library = [classb(),classb(),classb(),classc()]
////for item in library
// @2不可以在條件語句使用
// >2可選型別的轉換 as?
// 當不確定轉換是否可以成功的時候,可以使用as?
//anyobject 和any的檢查
//對於一些型別不明確的型別,swift 提供了兩種型別別名來檢查,分別是anyobject 和any
//any比anyobject範圍更廣,除了方法型別
let library1 = [classa1(),classa2(),classa3(),classa4()]
for item in library1
for item:anyobject in library1
Swift 學習筆記 繼承
重寫hash方法 class ios nsobject override func viewdidload class human var human human aaa 30 struct size var size size width 20,height 20 enum color init ...
Swift學習筆記之函式
func testfunc 關於 swift 中的函式 1 函式定義,單個引數,返回值 func sayhi name string string 2 傳入多個引數,返回值 func sayhi2 name string age int string 3 無引數,無返回值 func sayhi3 4...
swift學習筆記之列舉
列舉型別 成員 計算屬性,型別屬性 下標指令碼 方法 enum 的關鍵字不能省略 1 定義任意型別的列舉成員 enum anyenum north 可以賦值任意型別 2 指定型別的列舉成員 enum derication north 只能字串 3.可以初始化列舉成員的值,但是原始值必須是唯一的,不能...