Object-C 中变量的作用域
变量 object 作用域
2023-09-14 08:59:45 时间
1 @public
被这个关键字修饰的变量是完全开放的,只要有这类的对象存在,就可以访问到这个变量。
2 @protected
被这个关键字修饰的变量是受保护的,只有在声明变量的这个类中和它的子类中,可以访问。
3 @private
被这个关键字修饰的变量是私有的,只能在声明这个变量的类中使用,子类也不能使用。
4 @package
这个关键字比较难理解,大致意思是被修饰的变量是封装的,在本框架内可以自由使用,效果和@public 相同,而在框架外不能使用,其子类也不能使用,效果又相当于@private。
因为@package的这种特点,它非常适用于franework框架。
一点扩展:
访问类中的变量,我们可以用- 符号,它和点语法的区别在于,点语法实际上是调用的set与get方法,而- 符号是直接访问变量。
static与全局与局部变量的区别 extern全局变量、static全局变量和static局部变量的生存期都是“永久”,区别只是可见域不同。extern全局变量可见区域是工程,static全局变量可见区域是文件,而static局部变量的可见区域是块。
三、变量对象 在上一篇文章中已经知道,当调用一个函数时(激活),一个新的执行上下文就会被创建。一个执行上下文的生命周期可以分为两个阶段。 •创建阶段 在这个阶段中,执行上下文会分别创建变量对象,建立作用域链,以及确定this指向。 •代码执行阶段 创建完成之后,就会开始执行代码,会完成变量赋值,函数引用,以及执行其他代码。
变量与作用域、常量 变量与作用域、常量 强制转换 (类型)变量名 (int)a 高 低 自动转换 低 高 低 --------------------------------------------------------------- 高 byte, short, char int long float double
相关文章
- java - 局部变量和成员变量的区别
- [转载]js正则表达式/replace替换变量方法
- javascript变量:全局?还是局部?这个得注意
- OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)和varying,uniform,attribute修饰范围
- MySQL内核月报 2015.02-MySQL · 捉虫动态· 变量修改导致binlog错误
- Linux shell只读变量
- python3 读取配置文件中的参数值替换yaml文件中的占位符(变量)
- Docker中运行Springboot jar时的变量传递
- Spark广播变量使用示例
- 机器学习之——单变量线性回归
- 如何查看某个js 变量 runtime 类型
- 如何enable Object overview页面的object structure 维护功能
- vue项目中sass全局引用变量 sass-resources-loader webpack配置
- Python初学:变量是什么?盘点那些变量的基本概念
- Jinja2循环计数内置变量
- C++中全局变量、函数与静态变量、函数的区别
- 【C++提高】const_cast<>() 去除变量的只读属性