C# 中的 Final 关键字

csharpprogrammingserver side programming更新于 2025/3/13 23:37:17

Java 有一个 final 关键字,但 C# 没有它的实现。对于相同的实现,请使用 sealed 关键字。

使用 sealed,您可以防止方法被覆盖。当您在 C# 中对方法使用 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");
   }
}

相关文章