目录:
定义-访问修饰符是什么意思?
访问修饰符是用于指定类(或类型)及其成员的可访问性的关键字。 可以在当前应用程序内部或外部的代码中使用这些修饰符。
.NET中的访问修饰符用于控制类型的每个成员从不同可能的代码区域的可访问性。 可以从当前部件内部或外部对其进行处理。 程序集代表功能的逻辑单元,由位于一个或多个文件中的类型和资源组成。
使用访问修饰符的目的是实现封装,该封装将类型的接口与其实现分开。 这样,可以带来以下好处:
- 防止用户访问设置为无效状态的内部数据。
- 提供对类型的内部实现的更改,而不会影响使用它的组件。
- 通过减少软件组件之间的相互依赖关系来降低系统的复杂性。
Techopedia解释了访问修饰符
.NET框架提供了一种具有五种访问修饰符的选项:
- 私有–类型内的代码只能访问该类型的成员,因此可访问性仅限于当前类型
- 公用–当前程序集或引用该程序集的另一个程序集中任何位置的代码都可以访问该类型的成员,因此可以从任何位置访问
- 受保护的–类型或其派生类中的代码可以访问该类型的成员,因此可访问性仅限于当前类型和派生类
- 内部–当前程序集中的代码(但不能从另一个程序集访问)可以访问该类型的成员,因此可访问性仅限于当前程序集
- 受保护的内部–当前程序集中的代码可以访问该类型的成员,也可以从引用该类型的程序集中访问该成员。 因此,可访问性来自当前程序集中的派生类,并且必须通过引用它的程序集中的派生类类型的实例进行。
有几个规则适用于访问修饰符:
- 如果未指定访问修饰符来键入成员,则默认访问级别为私有和内部。
- 命名空间不允许使用访问修饰符,因为它们是公共的。
- 默认情况下,在包含的类中,在类型中声明的嵌套类和struct成员是私有的。
- 由于结构成员不支持继承,因此无法声明为受保护的成员。
- 析构函数不能具有访问修饰符。
- 派生类型的可访问性不能超过其基本类型。
- 包含类型的成员的可访问性应小于其包含类型的成员。 这可以用一个示例来说明:如果类型A不在公共可见性中,则包含类型的公共方法不能以“ A”作为参数。
- 接口被声明为公共的和内部的,并且不能具有其他访问修饰符,因为接口主要用于类的派生,以从其派生。
- 访问修饰符不仅用于类成员,而且还用于具有相同意图的其他代码构造。