总体来说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; //该成员变量也会被当成私有的
}

最新文章

  1. redis 的理解
  2. 旋转V字俄罗斯方块
  3. 百度地图刷新显示不完整?(应该是和div顺序有关系)
  4. 函数改变全局变量-JS
  5. 《zw版·Halcon-delphi系列原创教程》 2d照片-3d逆向建模脚本
  6. MVC学习系列——记一次失败面试后,感想。
  7. 数据结构(树链剖分,堆):HNOI 2016 network
  8. Service、Alarm与BroadcastReceiver的使用方法
  9. FFmpeg源码结构图 - 解码
  10. Codeforces 451E Devu and Flowers(容斥原理)
  11. leetcode算法题(JavaScript实现)
  12. 使用yeoman构建angular应用
  13. Defraggler磁盘碎片整理工具,让你的电脑读写速度更快
  14. IE浏览器支持响应式网站设计
  15. MYSQL添加远程用户或允许远程访问
  16. docker+elasticsearch的安装
  17. Spark项目之电商用户行为分析大数据平台之(九)表的设计
  18. BZOJ 3625: [Codeforces Round #250]小朋友和二叉树
  19. 《构建之法》阅读笔记06-项目经理PM
  20. 转载:pyqt线程间通过 信号/槽 通信

热门文章

  1. Eclipse 卸载插件
  2. [CODEVS1295]N皇后(位运算+搜索)
  3. 五指CMS发布,主打高性能
  4. Windows Azure 的磁盘管理相关概念
  5. Linux串口调试
  6. java多态/重载方法——一个疑难代码引发的讨论
  7. codis集群和redis cluster的优劣对比
  8. ajaxfileUpload ajax 上传图片使用
  9. C#中只使用Invokerequired来判断是不是UI线程可靠吗?
  10. snowflake算法(java版)