5.5.1 类修饰符
到目前为止,我还没有涉及到类修饰符,而只涉及到了应用于类的存取修饰符。但是,有两个修饰符你可以用于类:
abstract关于抽象类的重要一点就是它不能被实例化。只有不是抽象的派生类才能被实例化。派生类必须实现抽
象基类的所有抽象成员。你不能给抽象类使用sealed 修饰符。
sealed密封 类不能被继承。使用该修饰符防止意外的继承,在.NET框架中的类用到这个修饰符
5.5.2 成员修饰符
与有用的成员修饰符的数量相比,类修饰符的数量很少。我已经提到了一些,这本书即将出现的例子描述了其它的成
员修饰符。
以下是有用的成员修饰符:
abstract说明一个方法或存取标志不能含有一个实现。它们都是隐式虚拟,且在继承类中,你必须提供
override关键字。
const这个修饰符应用于域成员或局部变量。在编译时常量表达式被求值,所以,它不能包含变量的引用。
event 定义一个域成员或属性作为类型事件。用于捆绑客户代码到类的事件。
extern告诉编译器方法实际上由外部实现。第10章 “和非受管代码互相操作” 将全面地涉及到外部代码。
override用于改写任何基类中被定义为virtual的方法和存取标志。要改写的名字和基类的方法必须一致。
readonly一个使用 readonly修饰符的域成员只能在它的声明或者在包含它的类的构造函数中被更改。
static被声明为static的成员属于类,而不属于类的实例。你可以用static 于域成员、方法、属性、操作符甚至
构造函数。
virtual说明方法或存取标志可以被继承类改写。
5.5.3 存取修饰符
存取修饰符定义了某些代码对类成员(如方法和属性)的存取等级。你必须给每个成员加上所希望的存取修饰符,否
则,默认的存取类型是隐含的。
你可以应用4个 存取修饰符之一:
public任何地方都可以访问该成员,这是具有最少限制的存取修饰符。
protected在类及所有的派生类中可以访问该成员,不允许外部访问。
private仅仅在同一个类的内部才能访问该成员。甚至派生类都不能访问它。
internal允许相同组件(应用程序或库)的所有代码访问。在.NET组件级别,你可以把它视为public,而在外部
则为private。
为了演示存取修饰符的用法,我稍微修改了Triangle例子,使它包含了新增的域成员和一个新的派生类(见清单
5.13)。
原文:http://blog.163.com/spiderman_1977/blog/static/1599527220071274255645/