#import<Foundation/Foundation.h>
@interface Person :NSObject
@property int age;
@end
@implementation Person
//重写-init方法的作用:让成员变量一创建出来就是什么值,而不是原先父类中默认的0。
//该方法不需要再声明,应为已经在父类NSObject类的声明中声明过了,这里只需要做下重写就可以
重写构造方法的注意点
1.先调用父类的构造方法([super init])
2.再进行当前对象内部成员变量的初始化
/*
-(id)init //注意:id类型,表示任何对象都可以调用init,所以返回的类型是不确定的,所以使用id;
{
//重写构造方法的条件:
//1.一定要调用super的init方法:初始化父类中声明的一些成员变量和其它属性
//[super init]有时候返回的对象不一定跟self一样,为了保证代码严谨,把返回值赋值给self
//解释:因为父类的所有东西都被子类继承,所以要想初始化Person的成员变量,就必须把父类的成员变量初始化。
self = [super init];
//2如果对象初始化成功,才有必要进行当前成员变量的初始化
if(self !=nil)
{
//当前初始化成功;
_age = 10;
}
|
|