拷贝、分类、协议

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

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

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

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

阅读更多
文章标签: java 扩展
个人分类: IOS
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭