類別Categroy
- 類別支持在沒(méi)有源代碼的情況下,基于某些特定額場(chǎng)合,為一個(gè)類增加功能
可以添加
類方法
實(shí)例方法
重寫基類方法
不可以添加
屬性
實(shí)例變量
已存在的同名方法
- 命名規(guī)范
文件名稱:類別+擴(kuò)展方法:如 NSString +Deawing.h/.m
使用類別
-使用場(chǎng)景
適合沒(méi)有源代碼的情況下,向已經(jīng)封住的類中添加方法
為一個(gè)類在某些特殊場(chǎng)景下增加功能
對(duì)于復(fù)雜的大型文件分割實(shí)現(xiàn)
-添加類別
自己創(chuàng)建的類
系統(tǒng)的類
第三方庫(kù)
擴(kuò)展
擴(kuò)展支持在編譯時(shí),有類的源代碼的前提下 ,向類添加功能.可以將擴(kuò)展做匿名的類別
接口定義在.m文件中@implementation前聲明,實(shí)現(xiàn)代碼仍然在@implementation 內(nèi)實(shí)現(xiàn).
-擴(kuò)展支持添加一下成員
屬性
實(shí)例成員
類方法
實(shí)例方法
改寫屬性的讀寫屬性
使用擴(kuò)展
- 擴(kuò)展實(shí)現(xiàn)的成員都只能在.m實(shí)現(xiàn)文件內(nèi)部訪問(wèn),在類外不可以直接訪問(wèn).
-擴(kuò)展的主要用途在于信息隱藏,隱藏一些外部無(wú)需訪問(wèn).而內(nèi)部實(shí)現(xiàn)又需要使用的屬性,.方法
類的主接口主要用于 "對(duì)類外公開"的接口
類的擴(kuò)展接口主要用于 "對(duì)類內(nèi)可見(jiàn)"的接口