• 分类/扩展


    分类(category):(.h 与.m文件都有,它相当于一个类)
    将一个复杂的类分成若干个模块儿,其中每个模块儿被称为一个分类,类的扩展与补充

    分类的语法:
    在主函数中,只能看到一个主类,不会看到分类(在主函数中只要将分类包含进头文件,而不用加主类头文件)
    分类中不能定义成员变量或属性,只有方法
    实用:给没有源代码的类添加分类,使得代码可读性更高,将其头文件import进去即可.

    **分类文件命名: **主类名 + 分类名
    作用:是降低耦合度

    扩展(extension):
    扩展是没有名字的分类,可以有属性与方法

    使用的 两种形式:
    **1. **单独写在一个.h文件中,扩展中的成员变量是私有的,属性和方法是公有的(在.m文件中还需要包含头文件)

    -(void)showshow{
        //self.a = 90; //报错
        self.b = 90;
    }
    

    **2. **将扩展写在主类的.m文件中,此时扩展中的成员变量和属性、方法都是私有的如下:

    @interface TRFraction ()//扩展写在主类的.m文件中时,其定义的所有内容均为私有的
    @property int value;//私有的
    -(void)extensionMethod1;//私有的
    @end
    

    扩展与分类的区别:
    扩展没有.m文件
    扩展可以有属性与方法,分类只有方法
    名称:扩展是“-”例如:UIColor_myColor,分类是“+”,例如:UIColor+myColor,

    与协议(protocol)的区别:协议可以被任何类采纳,但扩展只属于主类
    注:那不在.h文件中声明的方法在.m文件中声明页是为私有的,那还分什么扩展
    分类与扩展的区别

    成功的三大原则: 1、坚持 2、不要脸 3、坚持不要脸
  • 相关阅读:
    Java注释
    加强版记事本
    Git简单使用
    Git简单使用
    Hadoop 2.6.0动态添加节点
    Hadoop 2.6.0动态添加节点
    ZooKeeper3.4.6配置
    ZooKeeper3.4.6配置
    SSH连接问题
    SSH连接问题
  • 原文地址:https://www.cnblogs.com/xulinmei/p/7413530.html
Copyright © 2020-2023  润新知