【OC語(yǔ)言】set方法和get方法

set方法

1.作用: 提供一個(gè)方法給外界設(shè)置成員變量值,可以在方法里面對(duì)參數(shù)進(jìn)行相應(yīng)過(guò)濾

2.命名規(guī)范:

1> 方法名必須以set開頭

2> set后面跟上成員變量的名稱,成員變量的首字母必須大寫

3> 返回值一定是void

4> 一定要接收一個(gè)參數(shù),而且參數(shù)類型跟成員變量類型一致

5> 形參的名稱不能跟成員變量名一樣

- (void)setAge:(int)newAge;

get方法

1.作用:返回對(duì)象內(nèi)部的成員變量

2.命名規(guī)范:

1> 肯定有返回值,返回值類型肯定與成員變量類型一致

2> 方法名跟成員變量名一樣

3> 不需要接收任何參數(shù)

1.set方法和get方法的使用場(chǎng)合

@public的成員可以被隨意賦值,應(yīng)該使用set方法和get方法來(lái)管理成員的訪問(wèn)(類似機(jī)場(chǎng)的安檢、水龍頭過(guò)濾,過(guò)濾掉不合理的東西),比如僵尸的生命值不能為負(fù)數(shù)

2.set方法

作用:用來(lái)設(shè)置成員變量,可以在方法里面過(guò)濾掉一些不合理的值

命名規(guī)范:

方法都是以set開頭,而且后面跟上成員變量名,成員變量名的首字母必須大寫

形參名稱不要跟成員變量同名

3.get方法

作用:返回對(duì)象內(nèi)部的成員變量

命名規(guī)范:get方法的名稱一般就跟成員變量同名

4.成員變量的命名規(guī)范

成員變量都以下劃線 _ 開頭

可以跟get方法的名稱區(qū)分開

可以跟其他局部變量區(qū)分開,一看到下劃線開頭的變量,肯定是成員變量

5.代碼示例

#import

// 聲明

@interface Car : NSObject

{

int _wheels; // 輪子個(gè)數(shù)

}

/*set方法*/

- (void) setWheels:(int)wheels;

/*get方法*/

- (int) wheels;

@end

@implementation Car

// set方法的實(shí)現(xiàn)

- (void) setWheels:(int)wheels

{

// 對(duì)外面?zhèn)鬟M(jìn)來(lái)的輪子數(shù)進(jìn)行過(guò)濾

if (wheels<=0)

{

wheels = 1;

}

_wheels = wheels;

}

// get方法的實(shí)現(xiàn)

- (int) wheels

{

return _wheels;

}

@end

#import

@interface Student : NSObject

{

// 成員變量盡量不要用@public

// @public

int age;

//@public

// 只讀(readonly):只允許外界訪問(wèn)我的no,不允許外界修改我的no

int no; // 只需要提供get方法

}

//

/*

set方法

1.作用: 提供一個(gè)方法給外界設(shè)置成員變量值,可以在方法里面對(duì)參數(shù)進(jìn)行相應(yīng)過(guò)濾

2.命名規(guī)范:

1> 方法名必須以set開頭

2> set后面跟上成員變量的名稱,成員變量的首字母必須大寫

3> 返回值一定是void

4> 一定要接收一個(gè)參數(shù),而且參數(shù)類型跟成員變量類型一致

5> 形參的名稱不能跟成員變量名一樣

*/

- (void)setAge:(int)newAge;

/*

get方法

1.作用:返回對(duì)象內(nèi)部的成員變量

2.命名規(guī)范:

1> 肯定有返回值,返回值類型肯定與成員變量類型一致

2> 方法名跟成員變量名一樣

3> 不需要接收任何參數(shù)

*/

- (int)age;

- (void)study;

@end

@implementation Student

// set方法的實(shí)現(xiàn)

- (void)setAge:(int)newAge

{

// 對(duì)傳進(jìn)來(lái)的參數(shù)進(jìn)行過(guò)濾

if (newAge <= 0)

{

newAge = 1;

}

age = newAge;

}

- (int)age

{

return age;

}

- (void)study

{

NSLog(@"%d歲的學(xué)生在學(xué)習(xí)", age);

}

@end

int main()

{

Student *stu = [Student new];

//stu->age = -10;

//stu->age = 10;

[stu setAge:10];

NSLog(@"學(xué)生的年齡是%d歲", [stu age]);

//[stu study];

return 0;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.set方法和get方法的使用場(chǎng)合@public的成員可以被隨意賦值,應(yīng)該使用set方法和get方法來(lái)管理成員的...
    少年你這是喜脈啊閱讀 638評(píng)論 0 0
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,740評(píng)論 18 399
  • 1.set方法和get方法的使用場(chǎng)合@public的成員可以被隨意賦值,應(yīng)該使用set方法和get方法來(lái)管理成員的...
    紫云夕月閱讀 2,040評(píng)論 0 0
  • 20- 枚舉,枚舉原始值,枚舉相關(guān)值,switch提取枚舉關(guān)聯(lián)值 Swift枚舉: Swift中的枚舉比OC中的枚...
    iOS_恒仔閱讀 2,432評(píng)論 1 6
  • 喜歡一邊放著音樂(lè),一邊打乒乓球。覺得那樣不單調(diào)。也舒緩了身體的疲憊。小屋的陽(yáng)光不是很充足,也可以說(shuō)很陰暗。陰暗的環(huán)...
    陶醉海的湛藍(lán)閱讀 195評(píng)論 0 0

友情鏈接更多精彩內(nèi)容