//// Person.h#import@interface Person : NSObject{ @public int _age; int age; int _number;}/*@porperty是一个编译器指令 在Xocde4.4之前, 可以使用@porperty来代替getter/setter方法的声明 也就是说我们只需要写上@porperty就不用写getter/setter方法的声明 编译器只要看到@property, 就知道我们要生产某一个属性的getter/setter方法的声明 - (void)setAge:(int)age; - (int)age; */@property int age; //就可以使用 [p setAge:88];@end
//// Person.m#import "Person.h"@implementation Person/* @synthesize是一个编译器指令, 它可以简化我们getter/setter方法的实现*/ @synthesize age = _age; // 赋值给_age/* - (void)setAge:(int)age { _age = age; } - (int)age { return _age; } *//*@synthesize age = _number; 赋值给_number - (void)setAge:(int)age { _number = age; } - (int)age { return _number ; } */// 如果在@synthesize后面没有告诉系统将传入的值赋值给谁, 系统默认会赋值给和@synthesize后面写得名称相同的成员变量/*// _age? age : age@synthesize age; //就可以使用 [p setAge:88];- (void)setAge:(int)age{ _age = age;}- (int)age{ return _age;} */@end
//// main.m// synthesize基本使用//// Created by xiaomage on 15/6/23.// Copyright (c) 2015年 xiaomage. All rights reserved.//#import#import "Person.h"int main(int argc, const char * argv[]) { Person *p = [Person new]; [p setAge:88]; NSLog(@"age = %i , p->_age = %i", [p age], p->_age); NSLog(@"_age = %i, _number = %i", p->_age, p->_number); NSLog(@"_age = %i, age = %i", p->_age, p->age); return 0;}