黑马程序员-OC-getter & Setter方法

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

getter与setter方法是为了保护我们类的成员变量,保证成员变量的值的受当前类的控制。在OC中,获得与设置成员变量的值应使用getter & setter方法。

set方法定义规范:
1)set方法一定是一个对象方法
2)set方法一定没有返回值
3)set方法必须以set开头
4)set之后跟的是实体变量去掉下划线,并且首字母大写
5)set方法一定有参数,而且数据类型与实体变量相同
6)set方法的形参名称一般是:实体变量去掉下划线
7)形参名不能和实体变量名同名
8)set方法实现中,一定要用形参给实例变量赋值

定义一个类Person。在Person.h中,代码如下:

#import <Foundation/Foundation.h>

typedef enum {sexMale, sexFemal, sexBoth} Sex;
@interface Person : NSObject
{
    float _height;
    Sex _sex;
    int _age;
    NSString *_name;
}
-(void)setHeight:(float)height;
-(void)setSex:(Sex)sex;
-(void)setAge:(int)age;
-(void)setName:(NSString *)name;

/*
 get方法定义规范

 1)get方法也是一个对象方法
 2)get方法一定有返回值,返回值的类型与实例变量的类型一致
 3)get方法名是 去掉下划线的实例变量名
 4)get方法一定没有参数
 5)get方法的实现,一定是返回实例变量值
 */

-(float)height;
-(Sex)sex;
-(int)age;
-(NSString *)name;
@end

在实现方法的Person.m文件中,代码如下:

#import "Person.h"

@implementation Person

//set方法实现

-(void)setHeight:(float)height{
    _height = height;
}
-(void)setSex:(Sex)sex{
    _sex = sex;
}
-(void)setAge:(int)age{
    _age = age;
}
-(void)setName:(NSString *)name{
    _name = name;
}

//get方法实现

-(float)height{
    return _height;
}

-(Sex)sex{
    return _sex;
}

-(int)age{
    return _age;
}

-(NSString *)name{
    return _name;
}

@end

主函数main()代码:

#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Person *p = [Person new];
        [p setName:@"Tom"];
        [p setHeight:1.90f];
        [p setAge:29];
        [p setSex:2];
        NSLog(@"_name = %@, height = %.2f, age = %d, sex = %d", [p name], [p height], [p age], [p sex]);
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值