另一方面,Derived 的作者经过进一步考虑,可能决定 Derived 的 F 应重写 Base 的 F。可以通过使用 override 关键字来指定此意图,如下所示。
// Author Anamespace A { public class Base // version 2 { public virtual void F() { // added in version 2 System.Console.WriteLine("Base.F"); } }}// Author Bnamespace B{ class Derived: A.Base // version 2b: override { public override void F() { base.F(); System.Console.WriteLine("Derived.F"); } }} Derived 的作者还有另一种选择,就是更改 F 的名称,从而彻底避免名称冲突。尽管此更改会破坏 Derived 的源代码和二进制兼容性,但这种兼容性的重要性因方案而异。如果不向其他程序公开 Derived,则更改 F 的名称很可能是个好主意,因为这会提高程序的可读性,就是说 F 的含义不会再有任何混淆。
|