溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

OC中實例變量可見度、setter、getter方法和自定義初始化方法

發(fā)布時間:2020-07-11 07:45:53 來源:網(wǎng)絡(luò) 閱讀:796 作者:Running2snail 欄目:開發(fā)技術(shù)

在對類和對象有一定了解之后,我們進(jìn)一步探討實例變量的可見度等相關(guān)知識

實例變量的可見度分為三種情況:public(共有),protected(受保護(hù)的,默認(rèn)),private(私有的),具體的不同和特點如下:

OC中實例變量可見度、setter、getter方法和自定義初始化方法

具體的使用示例如下:

OC中實例變量可見度、setter、getter方法和自定義初始化方法


編程時默認(rèn)的可見度是@protectde,為什么不使用@public呢?

因為OC是面向?qū)ο缶幊?,使用@public關(guān)鍵字,暴漏了類內(nèi)部的細(xì)節(jié),從而不符合面向?qū)ο笳Z言的三大特性之一——封裝

實例變量經(jīng)過@protectde修飾之后,我們就不能在該類和其子類外操作,例如mian.m文件。那么我們?nèi)绾尾拍茉趍ian.m文件中設(shè)置person的_name,讀取person的_name。

這就需要我們?nèi)ヌ砑觾蓚€方法即setter和getter方法

在OC里,為實例變量賦值的方法成為setter(設(shè)置器)

讀取實例變量值的方法稱為getter(訪問器)

賦值(setter):通過方法傳入?yún)?shù),在類的內(nèi)部實現(xiàn)實例變量的賦值

取值(getter):通過方法獲取實例變量的值

OC里規(guī)定了setter和getter的書寫格式

如果一個實例變量是int age;或者int_age;

setter的書寫格式如下: - (void)setAge:(int)age;即set + 首字母大寫的實例變量名(忽略下劃線)

getter的書寫格式如下: - (int)getAge;即返回值類型與變量類型一致,方法名與實例變量名相同(忽略下劃線)


具體示例如下:

Person.h文件中:

OC中實例變量可見度、setter、getter方法和自定義初始化方法

Person.m文件中:

OC中實例變量可見度、setter、getter方法和自定義初始化方法

多參方法:

OC中實例變量可見度、setter、getter方法和自定義初始化方法



OC中的方法分為兩種:類方法和實例方法

類方法:只能類使用,例如:+ (id) alloc 注:類方法中不能使用實例變量

實例方法:只能對象使用,例如:_(void)sayHi

OC中實例變量可見度、setter、getter方法和自定義初始化方法

類中不能出現(xiàn)同名方法

“ :”標(biāo)識參數(shù),不能省略。有冒號必須有參數(shù)

方法的使用

OC中實例變量可見度、setter、getter方法和自定義初始化方法



自定義初始化方法

h文件中:

OC中實例變量可見度、setter、getter方法和自定義初始化方法

m文件中:

OC中實例變量可見度、setter、getter方法和自定義初始化方法


#import

導(dǎo)入頭文件,即:導(dǎo)入頭文件中的內(nèi)容到當(dāng)前類。

#import“”導(dǎo)入自定義類。#import<>導(dǎo)入類庫中的頭文件

功能類似C語言中的#include,但是可以避免文件被重復(fù)導(dǎo)入


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI