关于objective-c中的set和get方法

来源:互联网 发布:管培生 知乎 编辑:程序博客网 时间:2024/05/01 15:09

一、关于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 <Foundation/Foundation.h>@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;}







0 0
原创粉丝点击