分类and分类延展

 1.Category简介

 

    Category,又称为类别&类目&分类,是OC特有语法,在不修改原有类的基础上增加新的方法,一个庞大的类可以多人来分模块开发,有助于团队合作,或者对当前类方法做一个归类,以便于更好的更新和维护

 

 2.Category的用法

    命名规则:类名+扩展方法,比如给 Car增加一个run方法,那么命名为 (Car+run)

    新建new file中选择Objective-C file  选择Category

 

    在.h文件中,声明类别:

    @interface 原有类类名 (分类名)

     //不允许在类别中添加变量

     //新增方法必须写在@interface 和 @end之间

     新增方法声明

    @end

 

    在.h文件中或者.m文件中实现方法

    @implementation 原有类类名 (分类名)

    新增方法实现

    //新增方法的实现与常规类的实现一样,必须写在@implementation 和 @end之间

    //新增方法实现中可以调用原有类的成员变量

    //新增方法与原有类方法重名,优先调用新增方法,因为原有类方法被覆盖了

    //当有多个分类,且分类中的方法名重名时,调用的方法是最后参与编译的方法

    @end

 

 3.Extendsion简介

    Extension是Category的一个特例 其名字为匿名(为空),并且新添加的方法一定要予以实现

    (Category没有这个限制) 

    

 4.Extendsion的用法

    新建new file中选择Objective-C file  选择Extendsion

    @interface 原有类类名 ()

    {

    Extendsion是可以新增私有成员变量的

    }

    新增方法声明(这里声明的方法是私有方法)

    @end

 

    然后将声明的方法在原类的.m文件中实现

 

posted on 2015-07-15 19:05  lizzie8023  阅读(134)  评论(0编辑  收藏  举报