文件名称:成员访问-eda技术实用教程 vhdl版(第四版) 潘松 科学出版社
文件大小:4.12MB
文件格式:PDF
更新时间:2024-07-07 04:49:54
C#
3.5 成员访问 成员的声明可用于控制对该成员的访问。成员的可访问性是由该成员的声明可访问性(第 3.5.1 节)和 直接包含它的那个类型的可访问性(若它存在)结合起来确定的。 如果允许访问特定成员,则称该成员是可访问的 (accessible)。相反,如果不允许访问特定成员,则称该 成员是不可访问的 (inaccessible)。当引发访问的源代码的文本位置在某成员的可访问域(第 3.5.2 节) 中时,允许对该成员进行访问。 3.5.1 已声明可访问性 成员的已声明可访问性 (declared accessibility) 可以是下列类型之一: • Public,选择它的方法是在成员声明中包括 public 修饰符。public 的直观含义是“访问不受限 制”。 • Protected,选择它的方法是在成员声明中包括 protected 修饰符。protected 的直观含义是“访问 范围限定于它所属的类或从该类派生的类型”。 • Internal,选择它的方法是在成员声明中包括 internal 修饰符。internal 的直观含义是“访问范 围限定于此程序”。 • Protected internal(意为受保护或内部的),选择它的方法是在成员声明中包括 protected 和 internal 修饰符。protected internal 的直观含义是“访问范围限定于此程序或那些由它所属的 类派生的类型”。 • Private,选择它的方法是在成员声明中包括 private 修饰符。private 的直观含义是“访问范围限 定于它所属的类型”。 声明一个成员时所能选择的已声明可访问性的类型,依赖于该成员声明出现处的上下文。此外,当成员 声明不包含任何访问修饰符时,声明发生处的上下文会为该成员选择一个默认的已声明可访问性。 • 命名空间隐式具有 public 已声明可访问性。在命名空间声明中不允许使用访问修饰符。 • 编译单元或命名空间中声明的类型可以具有 public 或 internal 已声明可访问性,默认的已声明 可访问性为 internal。 • 类成员可具有五种已声明可访问性中的任何一种,默认为 private 已声明可访问性。(请注意,声 明为类成员的类型可具有五种已声明可访问性中的任何一种,而声明为命名空间成员的类型只能具 有 public 或 internal 已声明可访问性。) • 结构成员可以具有 public、internal 或 private 已声明可访问性并默认为 private 已声明可访 问性,这是因为结构是隐式密封的。结构的成员若是在此结构中声明的(也就是说,不是由该结构 从它的基类中继承的),则不能具有 protected 或 protected internal 已声明可访问性。(请注 意,声明为结构成员的类型可具有 public、internal 或 private 已声明可访问性,而声明为命名 空间成员的类型只能具有 public 或 internal 已声明可访问性。) • 接口成员隐式地具有 public 已声明可访问性。在接口成员声明中不允许使用访问修饰符。 • 枚举成员隐式地具有 public 已声明可访问性。在枚举成员声明中不允许使用访问修饰符。 3.5.2 可访问域 一个成员的可访问域 (accessibility domain) 由(可能是不连续的)程序文本节组成,从该域中可以访问 该成员。出于定义成员可访问域的目的,如果成员不是在某个类型内声明的,就称该成员是* (top-