在Swift中贴浙,子類可以對父類的函數(shù)進(jìn)行重寫。但是在重寫的時(shí)候蜻直,要在函數(shù)名前加override袁串。
而在oc中進(jìn)行方法重寫的時(shí)候不用加override。
在Swift中囱修,初始化函數(shù)init在同一個(gè)類中可以重載且不用加override。
重載函數(shù)中可以傳入?yún)?shù)餐曼,參數(shù)可以在類中用_聲明一個(gè)實(shí)例變量啤咽,用來保存這個(gè)參數(shù)渠脉。
舉個(gè)例子:
class Hello{
var _name:string = "swift”
init (name:string){
_name = name
}
init(){
}
func sayHello{
println(“Hello \(_name)")
}
}
//實(shí)例Hello
var h = Hello(name: “有參數(shù)的初始化函數(shù)")
h.sayHello()
var h1 = Hello()
h1.sayHello()
運(yùn)行結(jié)果:
h輸出Hello 有參數(shù)的初始化函數(shù)
h1輸出 Hello Swift
swift的類方法
類方法的聲明為 class fun 函數(shù)名
在類函數(shù)中我們不再使用self這樣的關(guān)鍵字。
swift的接口使用方法也稱作協(xié)議
協(xié)議的定義
protocol 協(xié)議名{
聲明要實(shí)現(xiàn)的方法
}
類名:協(xié)議名
{
必須實(shí)現(xiàn)協(xié)議中聲明的方法
}
枚舉 enumeration
Swift枚舉的成員并不會像c和o-c中那樣默認(rèn)生成0芋膘,1霸饲,2臂拓,3這樣的索引
自定義初始化函數(shù)時(shí)用的返回值比較(面試題中看到的)
instancetype instance:情況當(dāng)前類型
用它做返回值類型時(shí),表示返回當(dāng)前函數(shù)所在類的類型傻工,通常用作自定義初始化函數(shù)孵滞。比id類型要好。
類內(nèi)聲的公有變量public可以在類外調(diào)用坊饶,但是不可以用點(diǎn)操作符,要用指向->調(diào)用蟋滴。
例:
類名->公有變量名
- super表示調(diào)用父類的方法
- self表示調(diào)用當(dāng)前類的方法
在多態(tài)中痘绎。可以用父類的對象來兼容子類的對象
…_仍在學(xué)習(xí)中~