@private@protected@public@package
2013-11-24 23:31
148 查看
@private@protected@public@package
为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性但是为了提供灵活性,苹果也让开发者显式设置范围(四选一)
Directive | Meaning |
@private | 实例变量只能被本类自身访问 |
@protected | 实例变量只能被声明它的类访问 实例变量能被声明它的类和子类访问,所有没有显式制定范围的实例变量都是 |
@public | 实例变量可以被在任何地方访问。 |
@package | 使用modern运行时,一个@package实例变量在实现这个类的可执行文件镜像中实际上是@public的,但是在外面就是@private【runtime需要再看一下苹果文档Runtime Programming Guide】 Objective-C中的@package与C语言中变量和函数的private_extern类似。任何在实现类的镜像之外的代码想使用这个实例变量都会引发link error 这个类型最常用于框架类的实例变量,使用@private太限制,使用@protected或者@public又太开放 |
{
@private
int privateNum;
@protected
int protectedNum;
@public
int publicNum;
@package
int packageNum;
}
相关文章推荐
- Java public/protected/package/private modifier
- iOS中四种实例变量的范围类型@private@protected@public@package
- IOS的变量修饰词@public 、@protected、@package、@private,简称 4P
- Java中的访问控制public,private,protected,package
- Java中的访问控制public,private,protected,package
- 【iOS Tips】007-@protected,@private,@public,@package
- java基础之关键字二( package、 class、import )和( static、fina ) 和(public、protected、private)
- Java中的访问控制public,private,protected,package
- maven生成javadoc 如何设置访问级别(public、protected、package、private)
- 实例变量修饰符(@public@protected@private@package )
- iOS @private,@protected,@public,@package详解及使用
- Java中public、protected、package、private的访问权
- iOS中四种实例变量的范围类型@private@protected@public@package
- iOS中四种实例变量的范围类型@private@protected@public@package
- Objective-C @protected @private @public @package
- Java中的访问控制public,private,protected,package
- iOS中四种实例变量的范围类型@private@protected@public@package
- 类变量的@protected ,@private,@public,@package,声明各有什么含义?
- iOS面试题(2.类变量的@protected,@private,@public,@package声明各有什么含义)拓展:常用框架和第三方框架
- iOS中四种实例变量的范围类型@private@protected@public@package