18、深入理解对象初始化

深入理解对象初始化

1. 对象创建方式

在编程中,创建新对象通常有两种方式:
- [SomeClass new]
- [[SomeClass alloc] init]

这两种方式本质上是等效的,但在Cocoa编程中,更常用的是 alloc init 的组合。 new 通常作为初学者的过渡方式,当你对 alloc init 有了足够的了解后,就应该使用后者。

2. 对象分配

对象分配是新对象诞生的过程。当向一个类发送 alloc 消息时,该类会从操作系统获取一块足够大的内存,用于存储对象的实例变量。同时, alloc 会将这块内存初始化为0,避免了未初始化内存可能导致的各种随机错误。

不过,新分配的对象不能立即使用,还需要进行初始化。与C++和Java不同,Objective - C将对象分配和初始化分为两个明确的阶段。初学者常见的错误是只使用 alloc 操作,例如:

Car *car = [Car alloc];

这样可能会在后续使用中出现奇怪的行为(即“bug”)。

3. 对象初始化

初始化是分配的对应操作,它将一块内存准备好,使其成为一个可用的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值