getter-setter方法 和 自定义代码块
程序员文章站
2022-05-08 16:37:38
...
在类中需要定义些方法来来操作成员变量
getter-setter方法
就不用去想方法的名称了,并且,getter和setter的格式和写法都是固定的,而且还是程序员之间的一种规范,降低了程序员沟通成本
setter方法
- 作用:设置成员变量的值
- 写法:
- setter方法一定是对象方法
- 一定以set开头,并且set后面跟上需要设置的成员变量的名称去掉下划线,并且首字母大写
- 一定没有返回值
- 一定有参数,参数类型一定和需要设置的成员变量的类型一致,并且参数的名称就是成员变量名称去掉下划线
- (void)setInfo:(NSString *)info;
- (void)setInfo:(NSString *)info
{
_info = info;
}
getter方法
- 作用:设置成员变量的值
- 写法:
- getter方法一定是对象方法
- 方法名称就是成员变量的名称去掉下划线
- 一定有返回值,返回值一定和获取的成员变量的类型一致
- 一定没有参数
- (NSString *)info;
- (NSString *)info
{
return _info;
}
属性 | setter | getter |
---|---|---|
可读可写 | 有 | 无 |
只读 | 无 | 有 |
只写 | 有 | 无 |
私有 | 无 | 无 |
在定义setter和getter之后就可以使用点语法
点语法是编译器的特性,在翻译成二进制语言的时候,语言自动切换为setter和getter的方法
点语法在 = 号左边,那么自动转化为setter
点语法在 = 号右边,或是没有等号,那么自动转化为getter
建议使用在成员赋值
Person *p = [Person new];
p.name = @"aaa";
[p setName:@"aaa"];
自定义代码块
下一篇: Getter和Setter的介绍