访问修饰符(C#)
版本Visual Studio 2010
主要参考:http://msdn.microsoft.com/zh-cn/library/6tcf2h8w.aspx
修饰符用于修改类型和类型成员的声明
- 访问修饰符
方法或者属性的修饰符的访问级别如下图(类的声明也可以用)
访问修饰符 | 访问级别 |
---|---|
public | 访问不受限制(类内和任何类外中访问) |
protected | 可访问域限定于类内或从该类派生的类内(类内和该类的派生类) |
internal | 可访问域限定于类所在的程序集内(该类所在程序集内) |
private | 可访问域限定于他所属的类内(类内) |
- 访问修饰符组合
类定义中可以使用的访问修饰符组合
访问修饰符 | 访问级别 |
---|---|
none or internal | 类只能在当前工程中访问 |
abstract or internal abstract | 类只能在当前工程中访问,不能实例化,只能继承 |
public abstract | 类可以在任何地方访问,不能实例化,只能继承 |
sealed or internal sealed | 类只能在当前工程中访问,不能派生,只能实例化 |
public sealed | 类可以在任何地方访问,不能派生,只能实例化 |
修饰符(C#)
abstract: 可用于修饰类、方法、属性、索引、和事件。
修饰类,该类只能用于被继承,不能实例化。
修饰符方法,必须由派生类来实现。
async: 修饰符可将方法、lambda 表达式或匿名方法指定为异步。
修饰方法,称为异步方法。
const: 用来声明莫格常量字段或常量局部变量。(被const修饰了的变量就是常量了。)
C#中方法、类的默认访问修饰符
接口(interface):
接口成员访问修饰符默认为public,且不能显示使用访问修饰符。
类(class):
构造函数默认为public访问修饰符。
析构函数不能显示使用访问修饰符且默认为private访问修饰符。
类的成员默认访问修饰符为private。
枚举(enum):
枚举类型成员默认为public访问权限,且不能显示使用修饰符。
结构(struct):
结构成员默认为private修饰符。
结构成员无法声明为protected成员,因为结构不支持继承。
嵌套类型:
嵌套类型的默认访问修饰符为private。和类,结构的成员默认访问类型一致