Objective-C 成员变量

成员变量的访问权限

Objective-C中的成员变量有以下三种属性

  • public(外部及其子类可访问)
  • protected(子类可访问,外部不可访问)
  • private(外部及其子类不可访问)

默认情况下,是protected属性

例子:类A有3个属性,类B是类A的子类,main函数对于类A来说是外部。

A.h

@interface A : NSObject
{
@public
    int publicVar;
@protected
    int protectedVar;
@private
    int privateVar;
}
@end

 

main.m

int main(int argc, const char * argv[])
{
    @autoreleasepool
    {
        A *a = [[A alloc] init];
        a->publicVar = 1;       //OK
        a->protectedVar = 2;    //Error 编译不过
        a->privateVar = 3;      //Error 编译不过
    }
    return 0;
}

 

B.m

@implementation B
- (void)f
{
    B *b = [[B alloc] init];
    b->publicVar = 1;       //OK
    b->protectedVar = 2;    //OK
    b->privateVar = 3;      //Error 编译不过
}
@end

 

注意,这里访问的方式用的是【->】而不是【.】哦哦哦哦

posted @ 2015-09-12 21:54  Norcy  阅读(1424)  评论(0编辑  收藏  举报