黑马程序员技术交流社区
标题:
构造方法
[打印本页]
作者:
我是薛明星
时间:
2015-12-23 21:32
标题:
构造方法
构造方法怎么写
作者:
956251361
时间:
2015-12-24 15:20
重写构造方法的目的:为了让对象创建出来,成员变量就会有一些固定的值.
#import "Person.h"
@implementation Person
//当子类把父类的init覆盖了,默认先执行子类的init
- (instancetype)init{
//
self = [super init];//先让父类把父类原来做的事情做完
//判断父类是否初始化成功
if (self) {
//此处写子类初始化的内容
_age = 10;//给_age设置默认值10
}
return self;//self指代的是方法的调用者
}
@end
这里设计的几个问题:
1:[super init]的作用
面向对象的体现,先利用父类的init方法为子类实例的父类部分属性初始化
2:self为什么要赋值为[super init]
简单来说是为了防止父类的初始化方法release掉了self指向的空间并重新alloc了一块空间.这时[super init]可能alloc失败,这时就不再执行if中的语句.
1.自定义构造方法规范
(1)一定是对象方法,以减号开头
(2)返回值一般是id类型
(3)方法名一般以initWith开头
2.自定义构造方法的使用注意
(1)自己做自己的事情
(2)父类的方法交给父类的方法去处理,子类的方法处理子类自己的属性.
作者:
我是薛明星
时间:
2015-12-24 20:30
需要掌握构造方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2