Objective-C编程:类扩展、内存管理与集合类深度解析
1. 类扩展与继承
在Objective - C编程中,类扩展(Class Extension)和继承是重要的概念。当涉及到类扩展时,子类无法访问其父类的类扩展内容。例如, BNREmployee 是 BNRPerson 的子类,它导入了 BNRPerson.h 头文件,所以 BNREmployee 只知道 BNRPerson 头文件中声明的内容,而对 BNRPerson 在类扩展中声明的内容一无所知。
若在 BNRPerson.m 中实现了 hasDriversLicense 方法,但该方法在类扩展而非 BNRPerson.h 中声明,那么在 BNREmployee.m 中尝试调用此方法时,编译器会报错:“No visible @interface declares the instance method hasDriversLicense”。
另外,当一个类在其头文件中声明属性时,其他对象只能看到该属性的访问器,非该类对象(包括子类)不能直接访问属性声明生成的实例变量。比如, BNRPerson.h 声明了 @property (nonatomic) NSMutableArray *friends; ,在 BNREmployee.m
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



