object-c的存取权限(public/protected/private)

和C++,Java等面向对象编程语言一样,object-c中对于数据成员可以设定它们的访问权限,它规定了外部实体如何来访问这些资源。例如:

1. 代码:

     //Access.h

#import <Foundation/NSObject.h>


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


//Access.h.m

#import "Access.h"


@implementation Access
@end


//main.m

#import "Access.h"
#import <stdio.h>


int main( int argc, const char *argv[] ) {
    Access *a = [[Access alloc] init];
    
    // works
    a->publicVar = 5;
    printf( "public var: %i\n", a->publicVar );

   //compile 错误

    //a->protectedVar = 6;
    //printf( "protected var: %i\n", a->protectedVar );


    //compile 错误
    //a->privateVar = 10;
    //printf( "private var: %i\n", a->privateVar );


    [a release];
    return 0;
}

2. 说明:

    (1)public可以被外部资源访问,而其它2种方式声明的则不可以;

    (2)object-c对于访问权限的声明方式和C++一样,都是在public/protected/private后面加":",再写数据成员。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值