变量与数据类型的深入探讨
1. 变量作用域回顾
在编程中,我们可以通过多种方式影响变量的作用域,无论是实例变量,还是定义在函数外部或内部的普通变量。这里所说的模块,指的是单个源文件中包含的任意数量的方法或函数定义。
1.1 控制实例变量作用域的指令
实例变量的作用域通常局限于为该类定义的实例方法。这意味着任何实例方法都可以直接通过名称访问其实例变量,无需额外操作。而且,实例变量可以被子类继承,子类中的任何方法也能直接通过名称访问这些继承的实例变量。
在接口部分声明实例变量时,可以使用以下四种指令来更精确地控制其作用域:
- @protected :类及其子类中定义的方法可以直接访问后续的实例变量,这是默认情况。
- @private :只有类中定义的方法可以直接访问后续的实例变量,子类无法访问。
- @public :类以及其他任何类或模块中定义的方法都可以通过指针运算符( -> )直接访问后续的实例变量。不过,将实例变量设为公共的并非良好的编程实践,因为这违背了数据封装的概念。
- @package :对于 64 位镜像,实例变量可以在实现该类的镜像内的任何地方被访问。
以下是一个示例,定义了一个名为 Printer 的类,将 pageCount 和 tonerLevel 两个实例变量设为私有,只有 Printer 类中的方
超级会员免费看
订阅专栏 解锁全文
1359

被折叠的 条评论
为什么被折叠?



