12月18号 属性property

默认成员变量是私有的   只在本身这个类里面可以使用

@property演变过程

但是由于代码量过于复杂冗长,引入了@property (声明)和 @synthesize(实现)

后来又简化成只有@property,而省略了@synthesize,自动生成

最后省略了成员变量改为属性,去掉了大括号,用@property属性一句话写完

代码:

@property (nonatomic, strong) NSString *name;

 @property (nonatomic, assign) int age;

 

/*

 1. 定义了一个属性 name

 2. 声明了一个set方法

 3. 声明了一个get方法

 4. 实现了相应的setter/getter方法

 */

 

定义了一个吃面包的函数,在内部方法调用内部属性的时候,要用_name,因为@synthesize虽然省略了,但是该实现的还是实现了

-(void)eat:(Bread *)aBread{

    NSLog(@"%@吃掉了%@面包",_name,aBread.style);

}

main中赋值和调用的时候有两种方式

1.  hr.name = @"wangkaiyu";

     NSLog(@"%@",wky.name);

2.  [hr setAge:22];

     NSLog(@"%d",[wky age]);

原文地址:https://www.cnblogs.com/hmzxwky/p/5056729.html