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