美文网首页
iOS入门小知识-分类

iOS入门小知识-分类

作者: BiBiMan | 来源:发表于2021-09-27 17:48 被阅读0次

分类

OC中特有的一种语法,Category,通常我们叫它分类、类别和类目。分类可以在不改变原来类的基础上,给类扩充一些方法,继承也可以给类扩充方法,子类继承父类的所有方法,也可以声明并实现独有的新方法,但分类不可以给类添加新的成员变量和属性(其实是可以利用runtime机制给类添加属性,但是从分类的特性来说是不能添加新的成员变量和属性的)。

创建分类

分类的格式:

@interface 类名(分类名称)

//方法声明

@end

声明部分

@implementation 类名(分类名称)

//方法实现

@end

实现部分

一个庞大的类,开发中我们并不建议去缔造这样一个庞大的类,因为没有人会愿意做下一个接盘手,就连自己都是不接受的,这个时候使用分类,将这个庞大的类分成不同模块,并由多人协同开发,这样才更有利于团队合作,并能大大提高开发效率、有利于代码的管理。

分模块开发

但在使用分类时我们要注意以下几点:

1.分类可以访问原始类的成员变量、属性,但不能添加成员变量、属性,只能添加方法。如果想添加变量,可以考虑通过继承创建子类

2.分类可以实现原始类的方法,但不建议这么做,因为它会直接替换掉原来的方法,这么做的后果是再也不能访问原来类的方法

3.多个分类中如果实现了相同的方法,只有最后一个参与编译的才会有效

匿名分类(扩展)

扩展是分类的一种特殊形式,是特殊的分类,扩展没有名字,当不想对外公开一些类的方法、属性和成员变量的时候,我们可以使⽤类扩展。

如何创建类扩展?一种是另起文件,一种是直接在原始类中添加。

另起文件方式 代码添加类扩展

类扩展的功能:

1.可以实现私有方法

2.方便开发者调用不公开的方法,处理相应的业务逻辑

3.可以声明私有的成员变量和属性

相关文章

  • iOS入门小知识-分类

    分类 OC中特有的一种语法,Category,通常我们叫它分类、类别和类目。分类可以在不改变原来类的基础上,给类扩...

  • oc 分类(category)相关

    标签:ios开发入门 添加分类的格式: @interface HSHAnimal (HSHDog) 分类的好处: ...

  • iOS入门小知识-类

    OC全称Objective-C(面向对象的C),是以C语言为基础的,并结合Smalltalk特征扩展出来的一种面向...

  • iOS入门小知识-NSValue

    NSValue NSValue是NSNumber的超父类,可以存储任何类型的数据,包括复合数据类型(数组,指针,结...

  • iOS入门小知识-NSNumber

    NSNumber NSNumber继承自NSValue,是一个用来包装的类,可以将基础数据类型包装成一个对象

  • iOS入门小知识-SEL

    SEL选择器 SEL选择器是一个变量类型,这个类型写作SEL。SEL的变量装载的是”成员方法”,更准确的说,装载的...

  • iOS入门小知识-协议

    id类型 在介绍协议之前,我们先来了解OC中一个特殊的类型,那就是id类型,它是一个万能指针,可以指向任何OC对象...

  • iOS入门小知识-拷贝

    深拷贝和浅拷贝 浅拷贝:只拷贝对象的地址,所拷贝出来的对象指针所指向的地址仍然是被拷贝对象的内存地址 深拷贝:真正...

  • iOS入门小知识-数组

    C数组主要用于存储基本数据类型 (int, char, float, double...),以及复合数据类型(i...

  • iOS新手入门课外阅读

    ?知识库 iOS新手入门 iOS笔试题 iOS面试题 iOS开发知识整理合集 1年=小学 2年=初中 3年=高中 ...

网友评论

      本文标题:iOS入门小知识-分类

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