zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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