类别

作者: 方方1307007 | 来源:发表于2016-02-28 11:38 被阅读0次

    类别支持在没有源代码的情况下,基于某些特定的场合,为一个类增加功能

    可以添加:

    类方法

    实例方法

    重写基类方法

    不能添加:

    属性

    实例变量

    已存在的同名方法

    命名规范

    文件名:类名+扩展方法,如:NSString+Drawing.h/.m

    使用场景:

    适合在没有源代码的情况下,向已经封装的类中添加方法;

    为一个类在某些特殊场景下增加功能;

    对于复杂文件的分割实现

    扩展支持在编译时,有类的源代码的前提下,向类添加功能,可以将扩展看做匿名的类别

    接口定义在.m文件中@implementation前声明,实现代码仍然在@implementation内实现

    扩展支持添加以下成员:

    添加属性

    添加实例成员

    添加类方法

    添加实例方法

    改写属性的读写属性

    扩展实现的成员都只能在.m实现文件内部访问,在类外不可以直接访问

    扩展的主要用途在于信息隐藏,隐藏一些外部无需访问,而内部实现又需要使用的属性和方法:

    类的主接口主要用于“对类外公开”的接口;

    类的扩展接口用于“对类内可见”的接口

    类别对外,扩展对内

    相关文章

      网友评论

          本文标题:类别

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