------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
@synthsize关键字
/*
当使用 @property 和 @synthsize 生成和实现get 和set方法
@synthsize 代替了方法的实现
注意: .h
@property int age;
.m
@synthsize age = _age;
首先监测.h中有没有_age这个实例变量,有,set方法将修改该变量的值
没有,就创建一个_age 并且修改它的值
@property int age,speed; age 和 speed类型必须一致
@synthsize speed,age,name; 类型可以不一致
*/
#import <Foundation/Foundation.h>
@interface Dog : NSObject
{
int _speed;
NSString *_name;
int age;
}
//方法的声明
@property int speed;
@property NSString * name;
@property int age;
- (void)test;
@end
@implementation Dog
//方法的实现
@synthsize speed = _speed ,name = _name,age = _age; //(必须将_实例变量名 赋值给方法名)
//实例变量_speed 不能得到speed的初始化 而是 实例变量speed被初始化
- (void)test
{
NSLog(@"_speed=%d,speed = %d,age = %d",speed,speed,age);
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Dog *d = [Dog new];
d.speed = 10;
d.age = 18;
d.name = @"黑皮";
NSLog(@"name = %@",d.name);
[d test];
}
return 0;
}