O-C相关-07-@property关键字简介与使用

时间:2024-01-05 15:11:14

基本概念:在O-C中,创建完类之后还需要给一个类添加属性和方法,之前说过的set和get方法比较繁琐,因此引入了@property 这个编译器指令.@property 是一个编译器指令.所谓的编译器指令, 即告诉编译器如何处理内容, 要做什么.@property
告诉编译器声明读写器( getter 方法与 setter 方法)

1.在今天的 Xcode 中, @property 可以同时生成实例变量, 方法的声明以及方法的实现.

2, 重写 getter
方法与 setter
方法

虽然 @property 很方便, 但是自动生成的方法总会有不满足需求的一天. 因此, 可以重写getter 方法或 setter 方法, 已满足使用的需求.

这里的重写不是继承中重写父类方法, 而是自己实现需要的 setter 方法或 getter 方法, 从而不让系统自动生成, 而没有自己写的方法还是由编译器生成. 但是不能同时自己实现两个方法

一个例子,使用@property就可以替代被注释掉的部分:

#import <Foundation/Foundation.h>

@interface employee :
NSObject

//(1) 类中姓名、年龄和工资属性分别使用char数组,int变量以及double变量存储。

{

//    NSString * _name;

//

//    int  _age;

//

//    double  _salary;

//

}

//使用便捷的@property,取代 set
和 get

@property NSString *  name;

@property int * age;

@property double salary;

-(void)mythod;

////设计show方法。

//-(void)show;

////封装三个方法设置器

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

//-(void)setAge:(int)age;

//-(void)setSalary:(double)salary;

////getter方法

//

//-(NSString *)name;

//-(int)age;

//-(double)salary;

@end

版权声明:本文为博主原创文章,未经博主允许不得转载。