1、屬性的內部實現原理
1.assign屬性的語義特性及使用範圍
Person.h 文件
assign的內部實現(會出面試題)
//在內存被系統回收以後,還在使用,容易產生野指針問題(例子以下)。
//assign適合基本數據類型,基本數據類型不會引發內存問題。
2.retain屬性的使用
retain屬性的實現細節
在調用過程當中想清楚過程
注意:(實現的過程)
3.copy屬性的使用
copy適用於接受了NSCopying協議的對象,由於只有接受了NSCopying協議,對象才能執行copy操做
copy的實現細節(注意裏面對於內存的管理)
用內存管理的方式解析copy
注意:思路詳解
2、dealloc內釋放實例變量
- 什麼是dealloc?
dealloc是NSObject的一個實例方法,與alloc對應用於回收開闢的內存空間
這個方法在對象引用計數爲0時,由系統自動調用
一般咱們在dealloc中釋放類的實例變量
- 如何使用dealloc?
// Person.m中面試
- (void)deallocspa
{3d
[_name release]; // 釋放setter方法泄露的指針
[super dealloc];orm
}對象
- dealloc注意事項:
永遠不要手動調用dealloc
在dealloc方法的最後一行,必需要寫[super dealloc];
3、便利構造器方法的實現原理
// 遍歷構造器在使用的過程當中要注意對內存的管理
//遍歷構造器的格式注意,同時在使用時要與初始化配合使用
return [p autorelease];是最完美的解決方案,既不會內存泄露,也不會產生野指針
注意:在遍歷構造器的內部已經用autorelease進行了內存的釋放管理,因此再使用release進行釋放,會引發過分釋放問題
4、collection的內存管理
1>.collection:collection就是NSArray,NSDictionary,NSSet...等容器類
collection會自主管理本身內部的元素
2>.加入collection中的對象會被retain繼承
3>.移除出collection的對象會被release接口
4>.collection被釋放會對內部全部對象release內存
五.多態it
1>.多態的含義:早上我和同事說口渴,想喝水。結果:A同事拿着個人杯子去給我接了一杯水。B同事順手在飲水機上拿了一次性紙杯給我接了杯水。C同事給了我一瓶他早上剛買的飲料。同事獲得的是一樣地請求,可是三我的都有各自的解決辦法,這就是多態。
多態就是不一樣對象在響應同一個請求時候不一樣的實現。父類指針能夠指向子類對象。
2>.多態的特色:
a. 父類指針能夠指向不一樣的子類對象
b. 容許在多個類中定義同一個消息接口
c. 能夠屏蔽不一樣的子類之間的差別,能夠通用代碼
d. 適應需求的不一樣變化
實例分析:
定義Animal類,和它的子類,Cat、Dog類:
Animal.h文件

Animal.m文件

cat.h文件(繼承於Animal)
cat.m文件

dog.h文件(繼承於Animal)

dag.m文件
main.m文件(父類的同一方法,父類和多個子類能夠同時響應,這就是多態)
