Objective-C 中的协议与对象复制
1. 引言
在编程中,我们常常需要复制对象。以复制汽车为例,我们需要能够复制发动机和轮胎等部件。接下来,我们将详细探讨如何在 Objective-C 中实现对象的复制,以及协议在其中的应用。
2. 复制发动机
要复制发动机, Engine 类需要采用 NSCopying 协议。以下是 Engine 类的新接口:
@interface Engine : NSObject <NSCopying>
@end // Engine
由于采用了 NSCopying 协议,我们必须实现 copyWithZone: 方法。以下是 Engine 类的 copyWithZone: 方法的实现:
- (id) copyWithZone: (NSZone *) zone
{
Engine *engineCopy;
engineCopy = [[[self class]
allocWithZone: zone] init];
return (engineCopy);
} // copyWithZone
Engine 类没有实例变量,所以我们只需要创建一
超级会员免费看
订阅专栏 解锁全文
56

被折叠的 条评论
为什么被折叠?



