OC setter(访问器)、getter(设置器)和构造器
2014-03-26 16:55
225 查看
给实例变量赋值的方法,称之为setter方法
- (void)set首字母大写的实例变量名:(实例变量的类型)实例变量名;
例如:- (void)setName:(NSString *)name; //固定格式
取得实例变量值的方法,称之为getter方法
- (实例变量的类型)实例变量名
例如:- (NSStrint *)name;
//记录
.h
//给实例变量赋值的方法,称之为setter方法
//- (void)set首字母大写的实例变量名:(实例变量的类型)实例变量名
- (void)setName:(NSString *)name;
//取得实例变量值的方法,称之为getter方法
- (NSString *)name;
//构造器的写法
//+号方法 类方法 类调用
//+(id)小写类名With.....
+ (id)personWithName:(NSString *)name sex:(NSString *)sex age:(int)age;
.m
- (void)setName:(NSString *)name
{
_name = name;
}
-(NSString *)name
{
return _name;
}
+ (id)personWithName:(NSString *)name sex:(NSString *)sex age:(int)age
{
//类方法的方法体,相当于一个外部环境,不能够直接调用实例变量
//构造器的作用:用于在main.m中初始化对象的时候,简化初始化的代码(对初始化的过程进行了一次简单的封装)
Person * person = [[Person alloc] init];
[person setName:name];
return person;
}
main.m
Person * p = [[Person alloc] init];
[p setName:@"111"]; //给实例变量_name赋值
//构造器的使用
Person * p = [Person personWithName:@"11" sex:@"22" age:233];
本文出自 “Ghost霍的尛博客” 博客,谢绝转载!
- (void)set首字母大写的实例变量名:(实例变量的类型)实例变量名;
例如:- (void)setName:(NSString *)name; //固定格式
取得实例变量值的方法,称之为getter方法
- (实例变量的类型)实例变量名
例如:- (NSStrint *)name;
//记录
.h
//给实例变量赋值的方法,称之为setter方法
//- (void)set首字母大写的实例变量名:(实例变量的类型)实例变量名
- (void)setName:(NSString *)name;
//取得实例变量值的方法,称之为getter方法
- (NSString *)name;
//构造器的写法
//+号方法 类方法 类调用
//+(id)小写类名With.....
+ (id)personWithName:(NSString *)name sex:(NSString *)sex age:(int)age;
.m
- (void)setName:(NSString *)name
{
_name = name;
}
-(NSString *)name
{
return _name;
}
+ (id)personWithName:(NSString *)name sex:(NSString *)sex age:(int)age
{
//类方法的方法体,相当于一个外部环境,不能够直接调用实例变量
//构造器的作用:用于在main.m中初始化对象的时候,简化初始化的代码(对初始化的过程进行了一次简单的封装)
Person * person = [[Person alloc] init];
[person setName:name];
return person;
}
main.m
Person * p = [[Person alloc] init];
[p setName:@"111"]; //给实例变量_name赋值
//构造器的使用
Person * p = [Person personWithName:@"11" sex:@"22" age:233];
本文出自 “Ghost霍的尛博客” 博客,谢绝转载!
相关文章推荐
- 100条商业定律
- 顶尖互联网产品经理必须具备的6大能力
- 转自百度 实时操作系统
- 格言-警句-感悟
- TWO device
- INSTALL TINYX+GTK
- C# 类、结构与扩展方法
- auto_ptr解析
- 关于lua5.2中table.getn方法不能用的代替方案
- ubuntu git 卸载
- Lucene.net 基本示例 《第一篇》
- 数据库WMI 0x80041010 如何解决?
- 工作三年后换工作之后的一些思考
- FCL研究-目录
- 出现win8.1蓝屏重启故障该如何解决?
- javascript节点操作appendChild()
- iOS学习之WebView的使用
- opencv 用到的几个函数整理cvLine
- AFNetworking使用
- html头文件设置常用之<meta>设置