OC筆記 - 類的概念(2015.1.26)

1.對象方法

     >減號 - 開頭

     >只能由對象調用

     >對象方法中可以訪問成員變量(實例變量)

     >對象方法中可以調用類方法

    

2.類方法

     >加號 +開頭

     >只能由類名調用

     >類方法中不可以訪問成員變量(實例變量)

     >類方法中不可以調用對象方法

     >類方法中可以調用類方法(同名的除外)

    

     允許有同名的對象方法和類方法,系統通過+ - 來區分

    

     類方法的使用場合:

     當方法中沒有使用到成員變量的時候儘量用類方法

     >執行效率高(如果對象方法要現找到對象再通過isa指針找到方法,而類方法直接找到方法)

     >優化內存(類方法不需要創建對象)

     >類方法一般用於編寫工具方法

3.匿名對象

[Iphone new];//這個是匿名對象

當對象方法只調用一次的時候可以使用匿名對象

匿名對象可以作爲實參傳遞

4.封裝

在開發當中有時候只提供get方法,,該屬性稱之爲只讀屬性

 有時候只提供set方法,該屬性就稱之爲只寫屬性

 

OC有一個約定

給成員變量賦值提供一個叫做set方法的方法

 1.一定是對象方法

 2.返回值一定是void

 3.一定以set開頭,set後面跟上成員變量的名稱去掉下劃線,並且首字母大寫

 4.一定有參數,並且參數類型和成員變量類型一致,參數名稱和成員變量名稱去掉下劃線相同

 

取成員變量的值提供一個叫做get方法的方法

 1.一定是對象方法

 2.一定有返回值,並且返回值類型和成員變量類型一致

 3.方法名稱和成員變量去掉下劃線一致

 4.一定沒有參數

 

封裝的原則:

將不需要對外提供的內容都隱藏起來

把屬性都隱藏,提供公共的方法對其訪問

 

封裝的目的:

 同set方法封裝屬性,可以過濾掉一些不符合邏輯的數據,保證了我們數據的正確性

 提高了代碼的健壯性

 

 封裝的好處:

 將變化隔離

 提高代碼的重用性

 提高了代碼的安全性

5.組合模式

組合模式的概念:

 組合模式就是一個類中聲明瞭其它類的對象

 優點:

 全局對象方法中都可以直接訪問,節省了代碼量

 缺點:

 依賴性比較強

 使用場景:

 當多個方法都用到了同一個對象,那麼就把它設置爲成員變量

 

 如何判斷組合模式的合理性:

 XXX 擁有了 XXX (誰擁有誰的一個關係)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章