关闭

黑马程序员_iOS_OC_分类

49人阅读 评论(0) 收藏 举报

 ——- android培训java培训、期待与您交流! ———-

1.分类的概念以及使用流程
2.分类的声明和实现


/*
 分类:
    一些方法的声明和实现
 作用:在不修改类的源代码的前提下,给类添加新的功能
 使用步骤:
    1)声明一个类
    格式:@interface 类名(分类名称)
         @end
         Person+base -->分类文件的命名规则
    如:
         //一个类
         @interface Person:NSObejct
         @end

         //分类
         @interface Person(base)
         -(void) run;
         @end
    2)实现这个分类
    格式:@implementation 类名(分类名称)
         @end
    如:
         //Person+base 类别实现
         @implementation Person(base)
         -(void) run{}
         @end
    3)使用分类中的方法
    和使用类中原有的对象一样
    Person *p = [Person new]
    [p run];


 */

#import <Foundation/Foundation.h>
#import "Person+base.h"//一定要导入分类文件
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Person *person = [Person new];
        [person run];

    }
    return 0;
}

3.分类的使用注意事项

/*
 分类使用注意:
 1)分类只能增加方法,不能够增加成员变量
 2)可以访问原来类的成员变量
 3)出现同名方法,优先调用分类中的 
 4)在多个类别有同名方法的时候,这时候,执行的最后编译那个类别的同名方法
 */

4.分类的非正式协议

/*
所谓的非正式协议就是类别,即凡是NSObject或其子类Foundation框架中的类增加的类别,都是非正式协议。
*/

5.分类延展

/*
 延展类别又称为扩展(Extendsion)
 Extendsion是Category的一个特列
 其名字为匿名(为空),并且新添加的方法一定要予以实现。(Category没有这个限制)
 所谓的扩展,其实就是为一个类添加额外的原来没有的变量、方法或者合成属性。
 */
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:453次
    • 积分:110
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档