objective-c访问控制符

时间:2014-10-23 16:26:31   收藏:0   阅读:296

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;

    }

}

原文:http://blog.csdn.net/bullettrain1433/article/details/40397027

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!