封裝
簡介:在以前,我們都是在我們的成員變量前面寫上@public 這樣做有時候是不對的选脊,比如說杭抠,當(dāng)我們設(shè)好一個成員變量我們只希望別人只能夠閱讀而不能夠更改我們的成員變量的值的時候就用到我們的封裝了
封裝01--set方法
作用:提供一個方法給外界,以方便設(shè)置我們成員變量值恳啥,可以在方法里面對參數(shù)進(jìn)行相應(yīng)的過濾
命名規(guī)范:1偏灿、方法名必須以set開頭 然后后面跟上成員變量名。2钝的、成員變量名的首字母要大些 3翁垂、返回值一定是void ? ? 4、一定要接收一個參數(shù)硝桩,而且參數(shù)類型必須和成員變量類型一致 ? ? ?5沿猜、形參的名稱不能與成員變量名一樣 ? ? 6、成員變量盡量不要要@public
set方法的聲明與實現(xiàn):
封裝02--get方法
作用:提供一個方法讓別人可以拿到我們的成員變量的值
命名規(guī)范:1碗脊、必須有返回值啼肩,返回值的類型與成員變量相同 ? 2、方法名與成員變量名一致 ? 3、不需要接收任何參數(shù)
關(guān)于get方法的聲明與實現(xiàn):
代碼規(guī)范:1祈坠、我們都是將我們的set方法與get方法的聲明寫在一起也就是我們的@interface 與@end之間 ? ? ?
2害碾、而我們的set方法與get方法的實現(xiàn)都是寫在我們的@implementation與@end之間的
注意:
以前我們?yōu)榱俗尦鯇W(xué)者學(xué)的簡單點,我們將成員變量名寫的與其他名無差異赦拘,現(xiàn)在我們就要改過來
我們的成員變量名一定要以下劃線_開頭(這樣是為了讓別人一看就知道我們這是成員變量)這是命名規(guī)范必須這樣寫 (與局部變量慌随、get方法區(qū)別開來)
還有一個注意:以后我們開發(fā)中會有很多這樣的錯誤內(nèi)容:
類方法
?類方法01 使用
類方法都是一加號開頭的,不用創(chuàng)建對象我們就可以執(zhí)行類方法 ? ?另绩,類方法在某些情況下可以提高我們的程序性能 ? ? ??
與對象方法的區(qū)別
類方法與對象方法不能混用
如果混用就會出現(xiàn)下面的問題
代碼書寫格式:
注意:在我們OC對象方法與類方法可以同名
總結(jié):
工具類一般我們都會使用類方法
工具類:基本沒有任何的成員變量儒陨,里面的方法基本上都是類方法
說一下,下面會引發(fā)死循環(huán)的代碼:
self--訪問成員變量
注意:self:是個指針
我們的代碼是屬于就近原則的當(dāng)我們的代碼如下圖編寫聚會根據(jù)就近原則將我們的成員變量改成20
所以為了保護(hù)我們的成員變量值不被改變笋籽,我們就會做下面的手段以防止我們的成員變量值不被改變
self--調(diào)用方法
當(dāng)我們需要一個對象的兩個方法的其中一個方法去調(diào)用另一個的方法就需要用到我們的self ? ?其具體的格式如下:
self的用途:
概念:指向當(dāng)前對象? ? 當(dāng)然我們可以利用“self—>成員變量名”訪問當(dāng)前對象的內(nèi)部的成員變量
使用注意:
注意不要引發(fā)死循環(huán)蹦漠、無論在那個相同的對象還是類方法
無論是類方法還是對象方法,兩者不可交叉調(diào)換
當(dāng)然如果是函數(shù)兩者均可調(diào)用车海,但是要注意格式
注意:類方法是沒有成員變量笛园,而對象是有成員變量的