• 【Objective-C 篇】 ☞ 7. Category、Extension


    分类 Category

      分类只能给类扩充方法,不能添加属性!

    1.  什么是Category
      • Category有很多种翻译:分类 / 类别 / 类目(一般叫分类)
      • 分类是一个类的补充,是类的一部分。
      • Category的作用:
        • 可以在不修改原来类的基础上,为这个类扩充一些方法。(使用继承也可以,在子类中扩充父类没有的方法)
        • 一个庞大的类可以分模块开发
        • 一个庞大的类可以由多个人来编写,更有利于团队合作
      • 常见用法
        • 将一个类分成若干个部分,便于阅读和管理
        • 给一个已有的类通过定义分类的方式增加功能(经常给系统的类扩充方法)
    2.  语法格式

    @interface 类名 (分类名)

    //声明扩充的方法

    @end

    @implementation 类名 (分类名)

    //实现扩充的方法

    @end

      创建一个分类:

        

      分类的注意事项:

    • 分类是用于给原有类添加方法的, 它只能添加方法, 不能添加属性(成员变量)
    • 分类中定义@property属性, 只会生成setter/getter方法的声明,不会生成方法的实现和实例变量。
    • 可以在分类中访问原有类中.h中的属性

        方法的调用顺序: 1.分类 —> 2.本类  —> 3.父类

    扩展 Extension

      匿名分类    在类的.m文件中定义扩展,在扩展中定义私有属性和私有方法。

    1.  概念
      • Extension有很多种翻译:扩展 / 延展 / 匿名分类(一般叫扩展)
      • 扩展是一特殊的分类, 没有分类名。
      • 可以在扩展中定义实例变量,定义属性,增加方法。
    2.  语法格式

    @interface 类名 ( )

    //声明私有的成员变量

    //声明私有的属性

    //声明私有的方法

    @end

    • 扩展最常用的方式是:

        在类的.m文件中定义扩展,在扩展中定义私有的属性和声明私有的方法。

        在UI中常用扩展来定义私有属性!

    Category练习:

      

  • 相关阅读:
    xx系统需求分析第七稿--权限管理(一)
    第四周学习进度总结
    hbase的Shell命令操作
    软件需求最佳实践读书笔记一
    hbase的Java基本操作
    Java 面向对象编程之接口
    Java 面向对象编程之继承的super关键词
    Java核心基础之数据类型
    Java 导出Excel
    JavaSE基础知识之修饰符和使用场景,你真的了解嘛
  • 原文地址:https://www.cnblogs.com/bossren/p/6428746.html
Copyright © 2020-2023  润新知