04 @package访问控制符
来源:互联网 发布:贩卖数据 编辑:程序博客网 时间:2024/05/22 09:07
04 @package访问控制符
Tags: Objective-C
访问控制符列表如下:
从图中可以看出,package跟protected区别在于protected修饰的成员变量可以被子类访问,而package修饰的成员变量不能被子类访问,但是能被跟该类处于同一映像中的其它文件对其访问。
同一映像:我们可以理解为将若干个文件编译后得到的一个执行文件,而这些文件就处于同一映像下。
以如下代码为例,编译后会生成.out执行文件,Apple.h、Apple.m、AppleTest.m处于同一映像下,因此main()函数可以访问Apple类的@protected成员变量。
Apple.h
#import <Foundation/Foundation.h>@interface Apple : NSObject { //被package修饰的成员变量能被跟该类处于同一映像下的程序访问 //而被protected修饰的成员变量只能被子类访问 @package double _weight; @protected NSString *_color;}@end
Apple.m
#import "Apple.h"@implementation Apple@end
AppleTest.m
#import <Foundation/Foundation.h>#import "Apple.h"int main(int argc, const char * argv[]) { @autoreleasepool { Apple *apple = [[Apple alloc]init]; //直接访问处于同一映像下的类的package成员变量 apple->_weight = 31; NSLog(@"苹果的重量为:%f", apple->_weight); //下面会编译出错 // apple->_color = [NSString stringWithFormat:@"red"]; // NSLog(@"苹果的颜色为:%@", apple->_color); } return 0;}
0 0
- 04 @package访问控制符
- 013.package 访问控制符
- 013.package 访问控制符
- package、jar和访问控制
- 9、OC 访问控制符(@private @package @protected @public)
- OC隐藏和封装-理解@package访问控制符
- 构造方法、package、静态属性、访问控制修饰符知识点
- package和import及访问控制
- Java中的访问控制public,private,protected,package
- Java中的访问控制public,private,protected,package
- Java中的访问控制public,private,protected,package
- java(8)------方法访问权限控制(public,protected,package,private)
- Java中的访问控制public,private,protected,package
- java访问控制类型public,protect,private和package访问的区别
- java 访问控制符
- java 访问控制符
- 访问控制符
- java 访问控制符
- 读写相同的大型数据
- Energetically Consistent Invertible Elasticity
- 01 block的用法
- 02 形参个数可变的方法
- 03 单例模式
- 04 @package访问控制符
- POJ 2455 解题报告
- UVALive 6917Decoding Baby Boos(签到)
- 05 @property和@synthesize
- lightoj1370 - Bi-shoe and Phi-shoe(欧拉函数)
- UVALive 6918And Or(位运算)
- Difference between <b> and <strong>
- 06 KVC与KVO
- 07 类的初始化和重写description方法