美文网首页
3 Category分类(OC)

3 Category分类(OC)

作者: flyfishcxy | 来源:发表于2023-02-21 11:16 被阅读0次

1 Category定义:

Category有很多种翻译: 分类 \ 类别 \ 类目 (一般叫分类)    

Category是OC特有的语法,其他语言没有的语法,可以在不修改原来类的基础上,为这个类扩充一些方法

2 Category特点:

2.1 分类可以访问原来类中的成员变量

2.2 如果分类和原来类出现同名的方法,优先调用分类中的方法,原来类中的方法会被忽略

方法调用的优先级(从高到低)  、分类(最后参与编译的分类优先)、原来类、父类

2.3 

3 Category的价值

3.1 方便团队合作开发,防止多个人修改同一个文件

3.2 模块化--实现了类的相关方法的模块化

把不同的方法分配到了不同的分类文件中 + 可以用一个分类来代表一类功能(一个模块)

3.3 可以为系统自带的类扩充功能----例NSString

在main函数入口进行测试NSString的分类函数numberCount(找出字符串中数字个数)

main函数测试 分类.h文件2个函数的声明 分类.m实现2个查找字符串总数字的方法

4 Category边界

分类只能增加方法,不能增加成员变量

5 关联1个概念类扩展

可以为某个类扩充一些私有的成员变量和方法,写在.m文件中,英文名是Class Extension,

@interface 类名 ()

声明私有变量

@end

对比分类,就少了一个分类名称,因此也有人称它为”匿名分类”

测试函数,从这里看对象p是不能访问run方法,因为run放是私有的 .h文件 类的.m文件实现匿名分类

以上代码参考MJ的资料

相关文章

网友评论

      本文标题:3 Category分类(OC)

      本文链接:https://www.haomeiwen.com/subject/vibnkdtx.html