面向?qū)ο?/h4>
1. 封裝
2. 繼承:一個(gè)類(lèi)型在另一個(gè)類(lèi)型的基礎(chǔ)上擴(kuò)展
3. 多態(tài):不同類(lèi)型針對(duì)同一接口的不同實(shí)現(xiàn)方式
繼承
每一個(gè)類(lèi)有且只有一個(gè)基類(lèi),如NSObject
1. 繼承了什么?實(shí)例變量、屬性、實(shí)例方法、類(lèi)方法
例如[
(@public定義公共實(shí)例變量)
_data這個(gè)實(shí)例變量定義在Shape里面,但是由于Circle繼承了Shape,因此Circle中也可以訪(fǎng)問(wèn)_data(使用->)
no(屬性)也是從Shape里面繼承的
draw、move、print等實(shí)例方法,process(類(lèi)方法)也都是從Shape里面繼承的
]
2. 所有類(lèi)的根類(lèi):NSObject
閱讀參考文檔
子類(lèi)復(fù)用父類(lèi)成員
公有和私有實(shí)例變量都會(huì)被子類(lèi)繼承,但是訪(fǎng)問(wèn)不到
繼承的內(nèi)存模型
子類(lèi)里能夠找到和父類(lèi)完全一樣的內(nèi)存結(jié)構(gòu)