
封裝
簡(jiǎn)介:在以前,我們都是在我們的成員變量前面寫上@public 這樣做有時(shí)候是不對(duì)的,比如說(shuō),當(dāng)我們?cè)O(shè)好一個(gè)成員變量我們只希望別人只能夠閱讀而不能夠更改我們的成員變量的值的時(shí)候就用到我們的封裝了
封裝01--set方法
作用:提供一個(gè)方法給外界,以方便設(shè)置我們成員變量值,可以在方法里面對(duì)參數(shù)進(jìn)行相應(yīng)的過(guò)濾
命名規(guī)范:1、方法名必須以set開頭 然后后面跟上成員變量名。2、成員變量名的首字母要大些 3、返回值一定是void ? ? 4、一定要接收一個(gè)參數(shù),而且參數(shù)類型必須和成員變量類型一致 ? ? ?5、形參的名稱不能與成員變量名一樣 ? ? 6、成員變量盡量不要要@public

set方法的聲明與實(shí)現(xiàn):


封裝02--get方法
作用:提供一個(gè)方法讓別人可以拿到我們的成員變量的值
命名規(guī)范:1、必須有返回值,返回值的類型與成員變量相同 ? 2、方法名與成員變量名一致 ? 3、不需要接收任何參數(shù)
關(guān)于get方法的聲明與實(shí)現(xiàn):


代碼規(guī)范:1、我們都是將我們的set方法與get方法的聲明寫在一起也就是我們的@interface 與@end之間 ? ? ?
2、而我們的set方法與get方法的實(shí)現(xiàn)都是寫在我們的@implementation與@end之間的
注意:
以前我們?yōu)榱俗尦鯇W(xué)者學(xué)的簡(jiǎn)單點(diǎn),我們將成員變量名寫的與其他名無(wú)差異,現(xiàn)在我們就要改過(guò)來(lái)
我們的成員變量名一定要以下劃線_開頭(這樣是為了讓別人一看就知道我們這是成員變量)這是命名規(guī)范必須這樣寫 (與局部變量、get方法區(qū)別開來(lái))
還有一個(gè)注意:以后我們開發(fā)中會(huì)有很多這樣的錯(cuò)誤內(nèi)容:
類方法
?類方法01 使用
類方法都是一加號(hào)開頭的,不用創(chuàng)建對(duì)象我們就可以執(zhí)行類方法 ? ?,類方法在某些情況下可以提高我們的程序性能 ? ? ??
與對(duì)象方法的區(qū)別
類方法與對(duì)象方法不能混用
如果混用就會(huì)出現(xiàn)下面的問(wèn)題

代碼書寫格式:


注意:在我們OC對(duì)象方法與類方法可以同名
總結(jié):

工具類一般我們都會(huì)使用類方法
工具類:基本沒有任何的成員變量,里面的方法基本上都是類方法
說(shuō)一下,下面會(huì)引發(fā)死循環(huán)的代碼:

self--訪問(wèn)成員變量
注意:self:是個(gè)指針
我們的代碼是屬于就近原則的當(dāng)我們的代碼如下圖編寫聚會(huì)根據(jù)就近原則將我們的成員變量改成20

所以為了保護(hù)我們的成員變量值不被改變,我們就會(huì)做下面的手段以防止我們的成員變量值不被改變

self--調(diào)用方法
當(dāng)我們需要一個(gè)對(duì)象的兩個(gè)方法的其中一個(gè)方法去調(diào)用另一個(gè)的方法就需要用到我們的self ? ?其具體的格式如下:

self的用途:
概念:指向當(dāng)前對(duì)象? ? 當(dāng)然我們可以利用“self—>成員變量名”訪問(wèn)當(dāng)前對(duì)象的內(nèi)部的成員變量
使用注意:
注意不要引發(fā)死循環(huán)、無(wú)論在那個(gè)相同的對(duì)象還是類方法
無(wú)論是類方法還是對(duì)象方法,兩者不可交叉調(diào)換
當(dāng)然如果是函數(shù)兩者均可調(diào)用,但是要注意格式
注意:類方法是沒有成員變量,而對(duì)象是有成員變量的