您好,登錄后才能下訂單哦!
在對類和對象有一定了解之后,我們進(jìn)一步探討實例變量的可見度等相關(guān)知識
實例變量的可見度分為三種情況:public(共有),protected(受保護(hù)的,默認(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)入
免責(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)容。