OC——设置器和访问器

我们常常在类中声明实例变量,并且需要声明设置和访问方法来给这个变量发送消息

我先创建了一个Cat类
//  Cat.h
#import <Foundation/Foundation.h>

@interface Cat : NSObject
{
    //实例变量的声明
    int age;
}

//设置器
-(void)setAge:(int)_age;


//访问器
-(int)age;

@end

打开Cat.m文件
//  Cat.m

#import "Cat.h"
@implementation Person

//set方法
-(void)setAge:(int)_age
{
    age=_age;
}


//get方法直接用实例变量名作为方法名
-(int)age
{
    return age;
}

@end

然后我们在main.m文件中来使用看看
//  main.m

#import <Foundation/Foundation.h>
#import "Cat.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
       
        // insert code here...
        NSLog(@"Hello, World!");
        Cat *cat = [[Cat alloc]init];
        [cat setAge:7];
        NSLog(@"Cat' age is %d",[cat age]);
    }
    return 0;
}

输出结果为:Cat‘age is7

为了简化我们的代码,我们可以调用@property和@synthesize两个关键字,用法如下

打开Cat.h文件,将原来的set和get方法删去,添加@property

//  Cat.h
#import <Foundation/Foundation.h>

@interface Cat : NSObject
{
    //实例变量的声明
    int age;
}
@property(nonatomic)int age;//括号里面要是换成readonly,那么就只有get方法而没有set方法

@end

打开Cat.m文件,将原来set和get方法的定义删去
//  Cat.m

#import "Cat.h"
@implementation Cat


@synthesize age;
@end

再运行一下得到的结果是一样的。

设置器和访问器,最重要的是两个关键字@property雨@synthesize,会自动生成set和get的方法,简化代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值