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

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

具體的使用示例如下:

編程時默認(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文件中:

Person.m文件中:

多參方法:

OC中的方法分為兩種:類方法和實例方法
類方法:只能類使用,例如:+ (id) alloc 注:類方法中不能使用實例變量
實例方法:只能對象使用,例如:_(void)sayHi

類中不能出現(xiàn)同名方法
“ :”標(biāo)識參數(shù),不能省略。有冒號必須有參數(shù)
方法的使用

自定義初始化方法
h文件中:

m文件中:

#import
導(dǎo)入頭文件,即:導(dǎo)入頭文件中的內(nèi)容到當(dāng)前類。
#import“”導(dǎo)入自定義類。#import<>導(dǎo)入類庫中的頭文件
功能類似C語言中的#include,但是可以避免文件被重復(fù)導(dǎo)入
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前文章:OC中實例變量可見度、setter、getter方法和自定義初始化方法-創(chuàng)新互聯(lián)
分享地址:http://www.chinadenli.net/article16/djdcgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站建設(shè)、網(wǎng)站維護、外貿(mào)網(wǎng)站建設(shè)、微信公眾號、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容