现在 你 一定知道 适用于某类物件的措施 可以 对 每一个这一类型的物件所包含的个体变量 直接 进行读写。此外 你 也一定知道 如果 某类物件 从包含它们的物件类型中 继承了 某些个体变量,那么 适用于这类物件的措施 也能 对 这些个体变量 直接 进行读写。
下面的命令 可以改变 个体变量的界限:
@protected这个命令 可以使 适用于某类物件的措施 或者 适用于这类物件所属子类的措施 对 这类物件的个体变量 直接 进行读写;
@private这个命令 可以使 一类物件的个体变量 仅仅 能够被 适用于这类物件的措施 所读写。
@public这个命令 可以使 一类物件的个体变量 能够被 任何措施 所读写。
比如 你 创建 一类物件 叫做 Printer,而 每个Printer类型的物件 都 包含 pageCount 和 tonerLevel这两个个体变量。如果 你 只希望 适用于Printer这类物件的措施 能够读写 每个Printer类型的物件所包含的pageCount 和 tonerLevel这两个变量,那么 你 就需要用上 @private这个命令,就像 下面这样:
如果 你 创建 一类新的物件,而 这类新的物件 又包含 在Printer这类物件当中,那么 适用于这类新的物件的措施 就无法对 每个Printer类型的物件所包含的pageCount 和 tonerLever这两个变量 进行读写了。
上面说到的这些特殊命令 就像 开关 一样。每一个这样的命令 与下一个这样的命令之间的变量 都有 特定的界限。