拷贝、分类、协议

 一、深拷贝和浅拷贝
1、对于系统的非容器类对象
如果对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。
如果是对可变对象复制,都是深拷贝,但copy返回的对象是不可变的。

二、分类category
分类可以将类的定义模块化到相关方法的组货分类中。提供了扩展现有类定义的简便方式,并不必访问的源代码,也无需创建子类。
1、分类可以访问原始类的实例变量,单不能添加新的变量。如果需要可以考虑创建子类。
2、分类可以重载类中的方法,但会导致原方法不可用。
3、分类中的方法可以不用都实现。

三、协议protocol
协议跟java中的接口一样,可使类实现多态。
@protocol NSCoping
 -(id)copyWithZone:(NSZone *)zone;
@end
协议不引用任何类,它是无类,一个类遵循一个协议,其子类也遵循。

四、合成对象
定义一个包含其他类的一个或多个对象的技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值