关于objective-c中的set和get方法
一、关于objective-c中的set方法
1、作用:
他的作用是提供一个方法给外界设置成员变量,可以在方法里面对相应参数进行相应过滤。
2、命名规范:
1> set方法名必须以set开头;
2>set后面跟上成员变量的名称,而且成员变量的首字母必须大写;
3>他的返回值一定是void;
4>一定要接受一个参数,而且参数类型和成员变量要保持一致;
5>形参名称不能和成员变量保持一致;
二、关于objective-c中的get方法
1、作用: 他的作用是返回对象内部的成员变量。 2、命名规范: 1>get命名要跟成员变量保持一致 2>get方法肯定有返回值; 3>他不需要接受任何参数;
注: 成员变量的命名规范:一定要以_(下划线)开头 作用: 1、让成员变量可以和get方法的名称区分开。 2、每当我们一看到下划线开头的变量便能知道,该变量是成员变量。
三、get方法的使用 关于set方法和get方法使用细节,通过代买来体会理解会更加饱满。代码如下 我们需要设计一个成绩类,包括:
* C语言成绩(可读可写) // 需要set 、get方法
* OC成绩(可读可写) // 需要set 、get方法
* 总分(只读) // 需要get方法
* 平均分(只读) // 需要get方法
代码如下:
#import @interface Score : NSObject
{
int _cScore; // C语言成绩
int _ocScore; // OC成绩int _totalScore;// 总分
int _averageScoe; // 平均分
}- (void)setCScore:(int)cScore; // CScore 的set方法的声明
- (int)cScore; //CScore 的get方法的声明- (void)setOcScore:(int)ocScore; // oCScore 的set方法的声明
- (int)ocScore; // oCScore 的get方法的声明- (int)totalScore; // totalScore 的get方法的声明
- (int)averageScore; // averageScore 的get方法的声明@end@implementation Score
- (void)setCScore:(int)cScore
{
_cScore = cScore;// 计算总分
_totalScore = _cScore + _ocScore; // set方法的一大好处就是可以监听程序,每当程序中,有新的值对成员变量进行改变
_averageScoe = _totalScore/2; 时,就可以在set方法里面监听到,然后对新值进行操作,非常方便,比如这个例子,
} 我们就可以在更新Cscore的时候,求出现在的总分和平均值。
- (int)cScore
{
return _cScore;
}- (void)setOcScore:(int)ocScore
{
_ocScore = ocScore;// 计算总分
_totalScore = _cScore + _ocScore; // set方法的一大好处就是可以监听程序,每当程序中,有新的值对成员变量进行改变
_averageScoe = _totalScore/2; 除了在Cscore中进行监听外,同时还在另一成员变量ocscore中进行监听。
}
// 监听成员变量的改变- (int)ocScore
{
return _ocScore;
}- (int)totalScore
{
return _totalScore;
}
- (int)averageScore
{
return _averageScoe;
}
@endint main()
{
Score *s = [Score new];[s setCScore:90];
[s setOcScore:100];[s setCScore:80];int a = [s totalScore];NSLog(@"总分:%d", a);return 0;
} 本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
