重写构造方法
来源:互联网 发布:java link 编辑:程序博客网 时间:2024/05/16 17:01
- (id) init
{
if(self = [super init])
{//为子类增加属性进行初始化
}
return self;
}
这里涉及了几个问题,
1. [super init]的作用:面向对象的体现,先利用父类的init方法为子类实例的父类部分属性初始化。
2. self 为什么要赋值为[super init]:简单来说是为了防止父类的初始化方法release掉了self指向的空间 并重新alloc了一块空间(可能性很小)。这时的话,[super init]可能alloc失败,这时就不再执行if中的语句。
3. super作为消息接受者的实质:
super并不是真正的指针,[super message]的实质是由self来接受父类的message。需要注意的是,[super message]中,message方法出现的self为[super message]语境中的self,即子类实例。
构造方法使用注意
(1)子类拥有的成员变量包括自己的成员变量以及从父类继承而来的成员变量,在重写构造方法的时候应该首先对从父类继承而来的成员变量先进行初始化。
(2)原则:先初始化父类的,再初始化子类的。
(3)重写构造方法的目的:为了让对象方法一创建出来,成员变量就会有一些固定的值。
(4)注意点:
(1)先调用父类的构造方法[superinit];
(2)再进行子类内部成员变量的初始化。
0 0
- 重写构造方法
- 重写构造方法
- 重写构造方法
- 重写构造方法
- Object-c------重写构造方法
- 重写与重载,构造器,构造方法
- 方法重写、构造方法、方法重载
- 重写init方法(构造方法)
- 转:重写init方法(构造方法)
- OC中重写构造方法及自定义构造方法
- 重写构造方法init与自定义构造方法的详解
- 重写构造方法及自定义构造方法的理…
- 重写构造方法实现两种功能
- 黑马程序员 - OC语言 - 重写构造方法
- 黑马程序员--OC--重写构造方法
- 重写构造方法的应用场景
- swift: 方法的重载/重写/KVC构造
- 13.6 Swift重写指定构造方法
- 元素位置互换之移位算法
- Wamp 环境的搭建
- android studio tabhost基础 多功能时钟app 实现闹钟功能 TimePickerDialog(二)
- UniversalImageLoader加密磁盘缓存
- 随机取数组数据
- 重写构造方法
- JVM优化配置指导手册(1)
- 地铁线路图的设计与实现
- Optional 可选值
- 毛家塘电站调速器准备发货
- JVM优化配置指导手册(2)
- css清除浮动float的三种方法总结。为什么清浮动?浮动会有那些影响?
- 设计模式之命令模式
- 镜泊湖的客人来公司参观考察