/*
Objective-c - setter/getter方法的自动生成(Xcode4.4版本开始)
1> @property的增强:
自Xcode4.4版本开始,@property实现了增强,只写一个@property,编译器就会自动帮你完成如下工作:
1, 自动生成一个带下划线的属性,这个属性是生成在@implementation中的真私有属性.
2, 自动生成属性的setter/getter方法的声明.
3, 自动生成属性的setter/getter方法的实现.
setter方法的内部直接将参数赋值给了它自动生成的真私有属性.
getter方法的内部直接返回它自动生成的真私有属性的值.
2> @property的增强的使用:
1, @property的属性名称不要带下划线,这样就可以在@implementation中生成带下划线的真私有属性.
2, @property类型相同的时候可以批量声明,类型不同不可以批量声明.
3, @property生成的方法也是没有逻辑验证的,如果需要逻辑验证,可以自己重写方法.
4, 如果重写了setter方法,@property仍然会生成私有属性和getter方法;
如果重写了getter方法,@property仍然会生成私有属性和setter方法.
5, 如果同时重写了setter/getter方法,那么@property就不会生成私有属性了.
则需要自己在@implementation中添加属性.
如下代码:
*/
#import <Foundation/Foundation.h>
#import "YYPerson.h"
int main(int argc, const char * argv[]) {
//创建人对象
YYPerson *xiaoming = [YYPerson new];
//赋值属性
xiaoming.name = @"小明";
xiaoming.age = 18;
//取值:
NSLog(@"大家好!我叫%@,今年%d岁了!", xiaoming.name, xiaoming.age);
//调用方法
[xiaoming sayHi];
return 0;
}