概述
在OC中有四类访问修饰符,分别为@public,@protected,@private,@package,不同的访问修饰符对外界有不同的可见性。现在我们来一一讲解。我们以新建MyClass类。
(一)@public:公有:在类内和类外都可以被使用,且可以被继承;
(1)在MyClass.h中声明一个公有的成员变量。
{
@public
int _classInt;
}
(2)在MyClass.m中写一个方法,打印这个成员变量的值,表示可以在类内可以访问:
-(void)show{
NSLog(@"className = %d",_classInt);//这里我并没有创建成员变量,只创建了属性,成员变量是默认生成的;
}
(3)在main.m中对该成员变量进行赋值,表示可以在类外进行访问。注意:此时不能使用 . 点运算符,需要使用-> 指向运算符。
MyClass *myclass = [[MyClass alloc]init];
myclass->_classInt = 24;//使用指向运算符来调用类中公有的成员变量;
[myclass show];
(4)输出结果,结果符合我们的预期,表示用@public修饰的公有成员变量可以在类内类外都可以访问。
.
(二)@protected:受保护的:在类内可以使用,在类外不能使用,并且可以被继承;这个是默认的类型。在类外通过点运算符和指向运算符都不能访问。
(三)@private :私有的:在类内可以使用,在类外不能使用,并且不能被继承。
(四)@package:框架权限:在框架内相当于受保护,在框架外相当于私有。
注意:OC中的方法是没有访问修饰符的。方法是可以被外界调用的,如果不想被外界调用,可以删除声明即可,这样就对外界不可见了。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
最后
以上就是时尚茉莉为你收集整理的Objective-C学习笔记(二十四)——成员变量的访问修饰符学习的全部内容,希望文章能够帮你解决Objective-C学习笔记(二十四)——成员变量的访问修饰符学习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复