1、类的独特存在就是一个实例(对象),对实例执行的操作称作方法。
2、实例初始化:
1.初始化方式:
alloc :方法保证对象的所有实例变量都变成初始状态。 创建对象。
init :方法用于初始化类的实例变量。 初始化对象。
new :可以将 alloc 和 init 的结合起来。 创建并初始化对象。
2.构造方法:
重载init方法的一个标准模板
不带参数:
- (instancetype)init {
self = [super init];
if (self) {
// 初始化代码
}
return self;
}
带参数:
- (instancetype)initWithAge:(int)age andNo:(int)no {
self = [super init];
if (self) {
_age = age;
_no = no;
}
return self;
}
类方法:
+ (instancetype *)studentWithAge:(int)age {
Student *stu = [[Student alloc] init];
stu.age = age;
return stu;
}
*执行父类的初始化方法,使得继承的实例变量能够正常的初始化。如果父类初始化成功,返回的值将是非空的。self 用来指明对象是当前方法的接收者。必须将父类 init 方法的执行结果赋值给 self,因为初始化过程改变了对象在内存中的位置(意味着引用将要改变)。
*特殊类型 instancetype 表明从 init 方法返回的类型与它的初始化类(也就是初始化消息的接收者)相同。 init 被定义为返回 instancetype 类型,这是编写可能被继承的类 init 方法的一般规则。当编译器遇见 instancetype 作为返回类型,它就知道返回的类型是发送消息的对象。
http://www.cnblogs.com/QianChia/p/5780671.html#_label0
网友评论