一、构造方法
完整的创建一个可用的对象:Person *p=[Person new];
New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(返回分配的对象);2)使用init方法来对对象进行初始化。即Person *p = [[Person alloc] init];
像init这样用来初始化对象的方法,我们可以称为"构造方法"。
默认的构造方法,也就是init方法,它是不接收任何参数的。因此,在实际开发中,为了方便,会经常自定义构造方法。
接下来,自定义一个构造方法,可以传入一个age参数来初始化Person对象
1.在Person.h中添加方法声明
- (id)initWithAge: (int)age;
* 构造方法的方法名一般都会以init开头,返回值跟init方法一样为id类型,id可以代表任何OC对象
* 这个构造方法接收一个int类型的age参数,目的是在初始化Person对象时,顺便设置成员变量_age的值
2.在Person.m中实现构造方法
- (id)initWithAge:(int)age
{
if(self = [super init]){
_age = age;
}
return self;
}
3.调用构造函数Person *p = [[Person alloc] initWithAge:10];
这样在初始化的Person对象就有个成员变量_age,并且_age=10;