封装的概念和原理,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
#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
相关文章推荐
- GET方法URL中传递中文参数乱码的解决方法
- Objective-C的内省(Introspection)用法小结
- Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect实例分析
- Objective-C中NSNumber与NSDictionary的用法简介
- Objective-C中NSLog输出格式大全
- Python用GET方法上传文件
- Swift调用Objective-C编写的API实例
- Swift、Objective-C、Cocoa混合编程设置指南
- Objective-c代码如何移植为Swift代码 Objective-c代码转移到Swift过程介绍
- Swift调用Objective-C代码
- 以实例讲解Objective-C中的KVO与KVC机制
- objective-c中生成随机数的方法
- 在Swift中使用Objective-C编写类、继承Objective-C类
- Swift能代替Objective-C吗?
- Objective-C 消息传递机制详解
- 在一个项目中同时使用Swift和Objective-C代码混合编程的方法
- vm安装mac os x 10.7 lion
- objective-c(一)
- objective-c(二)