构造方法:用来初始化对象的方法,是个对象方法,-号开头
init方法就是构造方法,是用来初始化对象的方法,这是一个对象方法,以-号开头
该方法返回的是调用init方法的对象
这里学习的是如何重写构造方法,让对象创建成功后就存在初始值
person *p = [[person alloc]init];
// 我们来实现一个需求,我们创建完成一个person对象之后,我们需要让他的年龄默认为10岁
// 现在自动初始化年龄为0
——————————————
person.h
——————————————
@interface person : NSObject
@property int age;
@property NSString *name;
-(void)run;
@end
——————————————
person.m
——————————————
@implementation person
-(void)run{
NSLog(@"人在狂奔");
}
-(void)eat{//person的私有方法
NSLog(@"人在狂吃");
}
-(instancetype)init{
// 先调用一下父类的init让他完成最初的自动初始化
self = [super init];
// 做判断,若self不为空(说明返回了地址而不是NULL)
// 这一步主要是判断初始化是不是成功了,如果成功,执行代码
if (self) {
_age = 10;//此处就是需要设置的变量的默认值,这里是说新对象默认的age=10;
}
return self;
}
@end
——————————————
现在当我们重新创建一个新的person对象的时候,他便会在对象初始化时自动帮助我们将其age属性初始化为10 |
|