对象初始化
来源:互联网 发布:物业软件哪个好 编辑:程序博客网 时间:2024/04/28 10:18
在oc中使用alloc后,会分配到一块内存块,同时这块内存块会被清零,所以初始化函数init是不需要再做置零的操作的。
在oc中,应该在alloc后就调用初始化函数init,使用new可以达到这个效果,但new不是oc的风格。
对象在init时,应该先使用其父类的init,然后再使用自己的init行为。而对象在dealloc时则相反,先是自己dealloc,然后才是
父类dealloc。
可能会重载多个init方法,这时应该有一个指定初始化函数(这个函数应该实现所有实例变量的初始化),然后其它init方法均调
用这个指定初始化函数。
对象在init时,务必把super的init返回值赋值给self,我们最终使用的对象是init返回的对象(而分配到的对象可能与init返回的
对象不相同)。
在c++中,有一种习惯的做法:在构造函数中new出所有成员对象,然后在析构函数中delete所有成员对象。这个做法操作简单,但
很不灵活。比如程序在启动时需要new出所有必需的对象,如果这些必需对象的构造函数里面又new了一些其它的非必需立即就创建
的对象(甚至这些成员对象在构造的时候做了一些io或网络的操作),这就很可能严重影响到程序的启动速度。
所以我比较主张,在构造函数和析构函数里面不要new或delete其它的成员变量,同时提供相应的Create/Destroy函数,让对象在需
要的时候创建或销毁其成员变量。
在oc中也一样,你可以在init中new出所有的实例变量,但也可以在需要的时候再去做这样的事(主张使用这种方式)。
- 对象初始化
- 对象初始化
- 对象初始化
- 对象初始化
- 对象初始化
- 对象初始化
- 对象初始化
- 对象初始化
- 初始化对象
- 面向对象(对象初始化)
- 类初始化与对象初始化
- 需初始化对象和自动初始化对象
- 对象的初始化块。对象初始化过程
- 对象的初始化
- 深入认识对象初始化
- C++对象的初始化
- Java 对象初始化
- 静态对象如何初始化?
- 在u-boot中增加nor flash的支持
- Java基础知识学习
- CSDN 404你懂的
- .net Repeater无数据时显示"no result" 快速解决方法
- 下载的好去处
- 对象初始化
- 在IBM DS4800上实现Storage Partition
- html表单使用示例
- 淘宝面试记
- CComboBox 在Selchange事件中响应 获取选取的内容
- Tomcat数据源配置
- Tomcat连接池
- 25 款开发者必备的 Firefox 4 扩展
- 下载文件