A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liyale92 中级黑马   /  2015-9-21 21:43  /  851 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一,分类的概念及使用流程:
1,什么是分类?
    分类,就是Category,是OC特有的语法;
    Category有很多种翻译: 分类 \ 类别 \ 类目 (一般叫分类)


2,分类的作用:
    (1),对现有类进行扩展;
    (2),在不修改原有的类的基础上增加新的方法;


3,分类的使用流程:
    先声明类别--->实现类别--->使用类别


二,分类的声明和实现:
1,分类的声明:
    (1),分类的声明格式:
        @interface 待扩展的类名 (分类的名称)

        @end

    (2),在.h文件中,声明分类:
        @interface ClassName (CategoryName)
        //只能在分类中添加方法
            NewMethod;
        //不能在分类中添加成员变量
        @end

    (3),分类声明格式的说明:
        1)新添加的方法必须写在 @interface 与@end之间
        2)ClassName 现有类的类名
        3)CategoryName 待声明的类别名称
        4)NewMethod 新添加的方法


2,分类的实现:
    (1),分类的实现格式:
            @implementation 待扩展的类 (分类的名称)

            @end

    (2),在.m文件中实现分类:
            @implementation ClassName(CategoryName)
                NewMethod
            @end

    (3),分类实现格式说明:
            1)新方法的实现必须写在@implementation与@end之间
            2)ClassName 现有类的类名
            3)CategoryName 待声明的类别名称
            4)NewMethod 新添加的方法的实现



3,分类的使用:
    (1),导入分类的头文件;
    (2),使用类别中的方法,和使用一般成员方法一样;需要创建对象,然后用[]调用类别中的方法即可;



三,分类的使用注意事项:
    1,分类只能增加方法, 不能增加成员变量、也不能使用@property;*****
    2,分类可以访问原来类中的成员变量;
    3,如果分类和原来类出现同名的方法, 优先调用分类中的方法, 原来类中的方法会被忽略;*****
    4,如果多个分类中有同名的方法,执行哪个分类的方法,取决于编译的顺序,最后编译的那个分类中的方法会执行;

评分

参与人数 3黑马币 +60 收起 理由
韩鹏 + 20 加油
sanchibing + 20 淡定
Carter + 20 山寨

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马