C# 中的 final 关键字
Java 具有 final 关键字,但 C# 没有其实现。对于相同的实现,请使用 sealed 关键字。
使用 sealed,可以防止方法被覆盖。在你对 C# 中的方法使用 sealed 修饰符时,方法将失去其覆盖的能力。sealed 方法应当是派生类的一部分,并且方法必须是一个覆盖方法。
以下示例不允许覆盖 display() 方法,因为它为派生类 ClassTwo 有 sealed 修饰符。
ClassOne 是我们的基本类,ClassTwo 和 ClassThree 是派生类 -
示例
class ClassOne { public virtual void display() { Console.WriteLine("Baseclass"); } } class ClassTwo : ClassOne { public sealed override void display() { Console.WriteLine("ClassTwo:derivedClass"); } } class ClassThree : ClassTwo { public override void display() { Console.WriteLine("ClassThree: Another Derived Class"); } }
广告