#import <Foundation/Foundation.h>
//构造方法:用来初始化对象的方法,是个对象方法,-减号开头
@interface Person : NSObject
@property int age;
//@property会自动创建实例变量_age,并且自动创建setter和getter方法,
//setter和getter方法,若果有一个,则编译器会自动创建另一个方法
//-(void)setAge:(int)age;
@end
@implementation Person
//-(void)setAge:(int)age{
//此时setter方法只是创建了并不做任何工作
//}
-(id)init
{
//一定要调用回super的init方法:初始化父类中声明的一些成员变量和其他属性
if (self=[super init])//当前对象self,self不为空进入循环;此处为C语言特性
{
_age=10;
}
//返回一个已经初始化的对象
return self;
}
@end
int main(int argc, const char * argv[])
{
//[Person* p = [Person new];
/*
完整地创建一个可用的对象
1.分配存储空间 +alloc方法
2.初始化 -init 方法,把实例变量初始化为0;-init为父类NSObject的方法
*/
Person* p1 = [[Person alloc] init];
//id为万能指针,可以认为(id*);
id p2 = [[Person alloc] init];
//p.age=20;
NSLog(@"%d",p1.age);
return 0;
}