现在的位置: 首页 > 综合 > 正文

objective-c 类别

2013年05月17日 ⁄ 综合 ⁄ 共 472字 ⁄ 字号 评论关闭

类别是个很伟大的概念。使用类别可以为任何一个类添加新方法,包括那些你没有源代码的方法。
这非常方便。
想要为某个类添加新方法时,我们通常的做法是创建子类。
但有时,子类不方便。你可能不能创建一个子类的对象。你可能使用的是框架和工具包,因此
无法处理新类的对象。
类别的声明:
@interface UIImage (ImageTransform)
-(UIimage *)transformToSize:(NSSize *)size
@end
现有的类位于@interface关键字之后,其后是位于圆括号中的一个新名称。
类的名称可是任意,这个名称大概没有什么实际作用吧,仅仅是一个标示符。当然具有实际意义
的标示符可以指明该类别的作用。

类别的局限性
1 无法向类中添加实例变量
2 名称冲突,类别中方法的名称与现有类中的方法的名称发生冲突时,类别中的方法具有更高的
优先权。一般在类别中加一个前缀防止名称冲突。

类别的作用
1 将类别的实现分散到多个不同文件或多个不同框架中。
2 创建对私有方法的前向引用。(这种情况类别名称通常为空或者PrivateMethods)
3 向对象添加非正式协议。

抱歉!评论已关闭.