首页 > 代码库 > Category、Extension
Category、Extension
Category,分类,类目。主要作?用是为没有源代码的添加方法,例系统自带的NSString。
通过Category添加的方法会成为原类的一部分。从?而达到扩展一 个类的功能。
Category
NSString+SayHi.h文件
@interface NSString (SayHi)
- (void)hi;
@end
/*
分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法
使用注意:
1.分类只能增加方法,不能增加成员变量
2.分类方法实现中可以访问原来类中声明的成员变量
3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用(对于非系统方法)
4.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类 --> 父类
*/
分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法
使用注意:
1.分类只能增加方法,不能增加成员变量
2.分类方法实现中可以访问原来类中声明的成员变量
3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用(对于非系统方法)
4.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类 --> 父类
*/
类目:针对系统创建类
subclass 子类
扩展:
Extension管理私有方法,是类目一种,可以扩充属性,但类目只能添加方法。
延展中的私有方法属性无法在主函数中调用,主要供程序员知道哪些方法属性私有的。(针对自定义的类)
Category、Extension
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。