美文网首页
22章:类扩展

22章:类扩展

作者: 帽子和五朵玫瑰 | 来源:发表于2018-05-29 09:46 被阅读0次

类扩展 .h implemention

涉及实现细节的属性和方法,才在类扩展中声明。

类扩展是一组私有的声明。只有类和其类实例才能使用在类扩展中声明的属性,实例变量或方法。

.m文件中的声明的属性,仅内部可见,其他位置都不能见。

隐藏可变属性

在.h文件中,声明一个assets属性,它是一个NSArray对象、一个addAsset方法及一个——asset实例变量,它是一个NSMutableArra有对象开发者会在头文件公布属性和实例变量,但不确定你是否希望其他非BNREmplouee实例对象或其他开发者用他们。

现在你知道了类扩展。在BNREmployee.m中,增加以下声明:

@interface BNREmployee(){
    NSMUtableArray *_asset;
}
@end

@implemention BNREmployee

@end

//在BNREmployee.h中,删除_asset实例变量的声明:

@class BNRAsset;

@interface BNREmployee : BNRPerson

@propert (nonatomic) unsigned int id;
@propert (nonatomic) NSArray *_asset;

现在大家知道asset是一个NSArray实例。非BNREmployee对象就要使用addAsset方法来操作这个数组。实际上,它是一个NSMutableArray实例。,可变版本的asset实例只有BNREmloyee对象才知道。

头文件及继承

子类无法获取父类的类扩展。子类会导入父类的.h文件。子类知道在父类头文件声明的内容,但无法知道父类的.m文件中的内容。

相关文章

  • (SPI)3.dubbo spi代码分析

    看三个方法,静态扩展类,adapter扩展类,activate扩展类。先看getExtension 获取实现类对象...

  • JQuery插件

    类扩展: 对象扩展:

  • Kotlin-面向对象-进阶

    扩展 扩展方法 Kotlin支持扩展方法和扩展属性。语法:被扩展的类/接口名.方法名() 父类不能使用子类的扩展方...

  • 类扩展

    类扩展 (Class Extension也有人称为匿名分类) 作用:能为某个类附加额外的属性,成员变量,方法声明一...

  • 类扩展

    Method Swizzling是改变一个selector的实际实现的技术。通过这一技术,我们可以在运行时通过修改...

  • 类扩展

    1.类扩展:为某一个类扩充私有成员变量和方法,写在.m文件中, 英文名Class Estension 格式:@in...

  • 扩展类

    扩展类是一种静态的一种类的调用方法,通过实例化进行调用。利用this进行指正该类,有参数的时候直接在后面追加参数。...

  • 22章:类扩展

    类扩展 .h implemention 涉及实现细节的属性和方法,才在类扩展中声明。类扩展是一组私有的声明。只有类...

  • 每天学一点 Kotlin -- 类的进阶:扩展

    1. 扩展 1.1 类的扩展是给类增加新的方法或属性。 2. 扩展类的方法 1.2 扩展的语法:和定义函数差不多,...

  • 小码哥底层原理笔记:Catgory的本质

    首先我们要明白什么是类扩展class extension?像下面这样就是类扩展 类扩展和分类Catgory一样都是...

网友评论

      本文标题:22章:类扩展

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