objective-c訪问控制符
Posted gccbuaa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了objective-c訪问控制符相关的知识,希望对你有一定的参考价值。
objective-c中成员变量的四个訪问控制符:
@private:仅仅有当前类的内部才干訪问
@public:全部人都可訪问
@protected:仅仅限当前类和它的子类可以訪问
@package:让那些受它控制的成员变量不仅能够在当前类中訪问。也可在同样映像的其它程序中訪问。
什么是“同一映像”?
就是编译后生成的同一框架或同一个运行文件。
即当前框架可以訪问,可是外部程序无法訪问。
(假设是public的话。外部程序也可以訪问)。
|
@private |
@package |
@protected |
@public |
同一类型 |
??? |
??? |
??? |
??? |
同一映像中 |
|
??? |
|
??? |
子类中 |
|
|
??? |
??? |
全局范围内 |
|
|
|
??? |
样例:
接口部分:(FKApple.h)
#import <Foundation/Foundation.h>
@interface FKApple:NSObject
{
//使用@package限制成员变量
@package
double _weight;
}
@end
main部分:
#import "FKApple.h"
int main(int argc, char *argv[])
{
@autoreleasepool{
FKApple *apple = [[FKApple alloc] init];
apple->_weight = 30.4;
}
}
以上是关于objective-c訪问控制符的主要内容,如果未能解决你的问题,请参考以下文章
[学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十一章 属性