可见性修饰符
修饰符 | 应用于 | 说明 |
public | 类、类成员 | 任何代码均可以访问 |
internal(内部的) | 类、类成员 | 当前程序集中可访问 |
private | 类成员 | 当前类中可访问 |
protected | 类成员 | 当前类和子类中可访问 |
protected internal | 类成员 | 当前类和子类 或 当前程序集中可访问 |
其它修饰符
修饰符 | 应用于 | 说明 |
new | 方法 | 子类用相同的签名隐藏父类的方法 |
static | 类、方法、字段、属性 | 静态类: 静态方法:属于类本身,不属于类的具体实例。可以被继承,适用于隐藏方法。 |
virtual | 方法 | 虚函数提供了方法的实现,并指示可以(不必须)在子类中重写。 虚函数的概念只针对类的实例成员函数有意义,静态函数不行。 |
abstract | 类、方法 | 抽象类:不能实例化 抽象函数:不提供函数的具体实现,必须在子类中重写。 抽象函数本身也是虚拟的,尽管没有提供 virtual 关键字 抽象函数就是C++中的纯虚函数 包含抽象函数的类必须显示的声明为抽象类,抽象类可以包含非抽象成员 |
override | 方法 | 指示此函数是个重写函数。 重写函数本身也是虚拟的。所以 override 标识的重写函数还能被子类再重写。 在父类中,这个函数必须是被标识为 virtual的虚函数、 或abstract的抽象函数、 或override的重写函数。 |
sealed | 类、方法、属性 | 密封类:不能被继承 密封方法:只有在重写方法的时候才能用,所以必须和 override 一起使用 当前类的父类有虚函数(包括抽象函数),当前类重写虚函数,如果不希望当前类中的被重写的函数再被当前类的子类重写,就加上 sealed 修饰符 |