三种作用吧.
1. 写在源文件 .h中 增加公有属性, 公有方法
2. 写在源文件 .m中 增加私有属性, 私有方法
3. 写在单独的 .h 文件中, 和2 一样.
应用场景的话
1. 对外只有get方法, 对内有get,set方法的时候.
2. 版本升级的时候 , 需要增加属性, 不用动原来的代码 , 可以继续往下增加属性 & 方法 , 写到一半不需要了 , 直接删掉就行.
一般是 情况1 用的比较多.
比如人一生下来, 有父母给的遗产, 只会花钱 不会挣钱的场景...
main.m
- #import <Foundation/Foundation.h>
- #import "Person.h"
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- Person * p = [[Person alloc] initWithMoney:100000];
-
- printf("%.2f\n",p.money);
- [p buySome];
- printf("%.2f\n",p.money);
- }
- return 0;
- }
复制代码
Person.h
- #import <Foundation/Foundation.h>
- @interface Person : NSObject
- /** money */
- @property(nonatomic, assign, readonly) float money;
- - (instancetype)initWithMoney:(float)money;
- - (void)buySome;
- @end
复制代码
Person.m
- #import "Person.h"
- @interface Person ()
- /** money */
- @property(nonatomic, assign, readwrite) float money;
- @end
- @implementation Person
- - (instancetype)initWithMoney:(float)money {
- self = [super init];
- if (self) {
- _money = money;
- }
- return self;
- }
- - (void)buySome {
- self.money -= 4000;
- }
- @end
复制代码
|