getter-setter方法/点语法

@interface Gun : NSObject
{
    int _size;
}


/*
 setter方法:
 作用: 设置成员变量的值
 格式:
 1. setter方法一定是对象方法
 2. 一定没有返回值
 3. 一定以set开头, 并且set后面跟上需要设置的成员变量的名称去掉下划线, 并且首字母大写
 4. 一定有参数, 参数类型一定和需要设置的成员变量的类型一致, 并且参数名称就是成员变量的名称去掉下划线
 */
- (void)setSize:(int)size;

/*
 getter方法:
 作用: 获取成员变量的值
 格式:
 1. getter方法一定是对象方法
 2.一定有返回值, 而且返回值一定和获取的成员变量的类型一致
 3.方法名称就是获取的成员变量的名称去掉下划线
 4. 一定没有参数
 */
- (int)size;
@end

@implementation Gun

- (void)setSize:(int)size;
{
     //成员变量以下划线开头的好处,就是可以区分局部变量和成员变量

    _size = size;
}

- (int)size
{
    return _size;
}
@end
/*
 如果某一个属性只提供了getter方法, 没有提供setter方法, 我们称这个属性为只读属性
 如果某一个属性只提供了setter方法, 没有提供getter方法, 我们称这个属性为只写属性
 如果某一个属性同时提供了setter方法和getter方法, 我们称这个属性为可读可写的属性
 如果某一个属性没有提供了getter和setter,  我们称这个属性为私有属性
 */

点语法

如果给属性提供了getter和setter方法, 那么访问属性就又多了一种访问方式 , 点语法
点语法其实它的本质是调用了我们的setter和getter方法 点语法是一个编译器的特性,
会在程序翻译成二进制的时候将.语法自动转换为setter和getter方法
如果点语法在=号的左边, 那么编译器会自动转换为setter方法
如果点语法在=号的右边, 或者没有等号, 那么编译器就会自动转换为getter方法

    Person *p = [Person new];
    p.name = @"scl";
    p.age = 30;
    p.height = 1.75;
    NSLog(@"age = %d, name = %@, height = %f", p.age, p.name, p.height);

    /*
     点语法的注意点:
     点语法一般用于给成员变量赋值, 如果不是给成员变量赋值一般情况下不建议使用, 但是也可以使用

     */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值