您的位置:首页 > 移动开发 > Objective-C

Objective-C基础之权限修饰符private, protected和public

2014-07-30 15:29 393 查看

Objective-C基础之权限修饰符private, protected和public

下面是对于权限修饰符的几点理解:

1. 权限修饰符是用来修饰实例变量的,用来控制实例变量的访问权限;
2. 在程序中,如果不进行设置,则默认是@protected;
3. 尽量不要把实例变量声明为@public,因为这样会破坏封装性;
4. @private修饰的实例变量是私有的实例变量(属性)不会被子类继承,也就不能被访问;
5. 除了上面三个修饰符,还有@package,它修饰的属性,只能在当前框架中才能被访问,用的比较少;
6. OC中的方法没有权限修饰符一说,如果要定义私有方法,则只需在.m文件中实现,但不需在.h文件中声明,但也不算真正私有,如果其他地方要强行调用还是能调用到的,可以说,OC中的私有方法只是一种约定而已,在语法上没有真正的私有方法,不过在非开源的框架中还是有作用的;
7. OC中可以在.m文件中采用以下方式模仿私有方法,变相地限制其他地方调用:
static void privateFun() {
NSLog(@"privateFun方法是私有的.");
}


权限划分如下:

修饰符

类内部

子类

任何地方

private

YES

protected

YES

YES

public

YES

YES

YES
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: