您的位置:首页 > 移动开发 > Objective-C

封装的概念和原理,set和get方法

2015-09-27 18:04 519 查看
.h文件

#import <Foundation/Foundation.h>

typedef enum {kSexMan, kSexWoman, kSexYao} Sex;

@interface Person : NSObject
{
// 姓名
NSString *_name;
// 年龄
int _age;
// 性别
Sex _sex;
// 身高
float _height;
}

// 给每一个实例变量定义两个方法:设置变量的方法(set)获取变量值的方法(get)
// set方法的书写规范:
// 1)set方法一定是一个对象方法
// 2)set方法必须以set开头
// 3)set方法一定不能有返回值
// 4)set之后跟的是 实例变量去掉下划线,并且首字母大写
// 5)set方法一定有参数,而且参数的类型和实例变量的类型一致
// 6)set方法的形参名 一般是 去掉下划线的实例变量名
// 7)形参名不能和实例变量名同名
// 8) set方法实现中,一定要用形参给实例变量赋值

// _name的set方法,以后对name设置值,一律使用此方法
- (void)setName:(NSString *) name;
- (void)setAge:(int)age;
- (void)setSex:(Sex)sex;
- (void)setHeight:(float)height;

// get方法书写规范
// 1)get方法一定是一个对象方法
// 2)get方法一定有返回值,返回值的类型和实例变量的类型要一致
// 3)get方法的方法名 是去掉下划线的实例变量名
// 4)get方法一定没有参数
// 5)get方法的实现中,一定是返回值实例变量值

// 以后获取name的值,都统一的使用name的get方法
- (NSString *)name;
- (int)age;
- (Sex)sex;
- (float)height;

@end


.m文件
#import "Person.h"

@implementation Person

//***************** set 方法的实现 ****************
- (void)setName:(NSString *) name
{
// 给实例变量赋值
_name = name;
}
- (void)setAge:(int)age
{
_age = age;
}
- (void)setSex:(Sex)sex
{
_sex = sex;
}
- (void)setHeight:(float)height
{
_height = height;
}

//***************** get 方法实现 *****************
- (NSString *)name
{
return _name;
}
- (int)age
{
return _age;
}
- (Sex)sex
{
return _sex;
}
- (float)height
{
return _height;
}
@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息