码迷,mamicode.com
首页 > 其他好文 > 详细

OC基础(四)setter和getter方法

时间:2016-04-22 08:19:47      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

setter和getter方法整体声明和实现虽然后面可以用@property代替,但是在后面的iOS开发中,setter方法或getter方法单独使用的频率比较高,应用比较广泛!

@Interface Person:NSObject

{

  NSString *_name;

  int _age;

  Sex _sex;      //此处枚举类型,属于基本数据类型,不用加“*”

  float _height;

}

@end

一、setter方法就是给属性赋值的方法

书写格式:

1、在类的声明中:- (void) +(set+属性去掉"_",首字母大写) : (数据类型/对象/类) + (属性去掉"_");

注意事项:

(1) setter方法一定是对象方法

(2) 一定没有返回值

(3) 一定以set开头, 并且set后面跟上需要设置的成员变量的名称去掉下划线, 并且首字母大写

(4) 一定有参数, 参数类型一定和需要设置的成员变量的类型一致, 并且参数名称就是成员变量的名称去掉下划线

举例:

- (void) setName: (NSString *)name;

- (void)setAge: (int)age;

- (void)setSex:(Sex)sex;

- (void)setHeight: (float)height; 

2、在类的实现中:大括号内可以添加其它内容,但是必须实现 属性 =(去掉"_"的属性)

- (void) setName: (NSString *)name{

  _name = name;

}

- (void)setSex:(Sex)sex{

  _sex = sex;

}

 

二、getter方法就是获取成员变量值得方法

书写格式:

1、类的声明中 :- (数据类型/对象/类)+(属性去掉“_”)

注意事项:

(1) getter方法一定是对象方法

(2)一定有返回值, 而且返回值一定和获取的成员变量的类型一致

(3)方法名称就是获取的成员变量的名称去掉下划线

(4) 一定没有参数

举例:

- (NSString *)name;

- (int)age;

- (Sex)sex;

- (float)height;

2、类的实现中:在类的实现中可以添加其它内容,但是必须有 return + 属性

- (NSString *)name{

  return _name;

}

- (Sex)sex{

  return _sex;

}

其它应用:

1、一个属性可以只有getter方法, 没有setter方法, 这种属性我们称之为只读属性

2、一个属性也可以只有setter方法, 没有getter方法, 这种属性我们称之为只写属性

3、如果既有setter方法又有getter方法, 那么这种属性我们称之为可读可写的属性

4、一个属性也可以没有getter和setter, 这种属性我们称之为私有属性

5、setter方法和getter方法的声明和实现可以直接用下面代替(写在类的声明里面)

@property(nonatomic,assin)NSString * name;

@property(nonatomic,assin)Sex sex;

OC基础(四)setter和getter方法

标签:

原文地址:http://www.cnblogs.com/hissia/p/5419793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!