构造方法相关
构造方法:用来初始化对象的方法,是个对象方法,减号开头,是为了让对象创建出来就有一些固定的值;
完整的创建一个可用的对象
1> 分配存储空间 + alloc
2> 初始化 - init
重写 init方法:
1.一定要调用回父类的super的init方法,初始化父类中的成员变量和属性;
[super init];//返回的是当前的对象;
2.对象初始化成功,才有必要进行之后的初始化操作;
3.返回一个已经初始化好的对象;
自定义构造方法
1.对象方法,以-开头
2.返回id对象
3.以init开头+传参
示例:
#import "Student.h"
@implementation Student
-(id)initWithName:(NSString *)name andAge:(int)age andNo:(int)no{
//调用父类的方法初始化
if (self = [super initWithName:name andAge:age]) {
_no = no;
// _name = name;//访问父类的变量受限
// self.name = name; //耦合度太高
// self.age = age;
}
return self;
}
@end
Student * p = [[Student alloc]initWithName:@"Jack" andAge:20 andNo:10];