Objective-C 成员变量的访问修饰即成员变量可见性解析

总体来说Objective-C的访问成员变量可见性和C++基本一样,只是多了个@package. 以下是详细说明:

例子:

@interface CTPerson : NSObject
{
 @private
    int _age;
 @protected
    NSString *_name;
 @public
    double _height;
 @package
    double _weight;
}
  

   @private:私有的,只有在本类的对象方法中可以直接访问它

   @protected:受保护的:只能在本类和子类中可以直接访问,不能在外部访问 

   @public:公共的,在本类,子类,外部都可以访问

   @package: 主要用在框架内部,在框架内部相当于@protected,在框架外部相当于@private

 

补充说明: 在实现文件里面也可以定义成员变量,但是这个成员变量是私有的,无论使用什么样的可见性修饰符,修饰它,它都是私有的

例子:

@implementation CTPerson
{
 @public
    int _sex; //该成员变量也会被当成私有的
}

 

 

posted @ 2015-10-25 22:40  finley0066  阅读(297)  评论(0编辑  收藏  举报