C# 中的 seal 修饰符是什么?

csharpprogrammingserver side programming更新于 2025/10/14 1:37:17

在 C# 中,如果在方法上使用 seal 修饰符,该方法将失去重写功能。密封方法必须是派生类的一部分,并且该方法必须是被重写的方法。

看一个例子 −

以下示例不允许您重写方法 display(),因为它对 ClassTwo 派生类使用了 seal 修饰符 −

ClassOne 是我们的基类,而 ClassTwo 和 ClassThree 是派生类 −

示例

class ClassOne {
   public virtual void display() {
      Console.WriteLine("baseclass");
   }
}

class ClassTwo : ClassOne {
   public enclosed override void display() {
      Console.WriteLine("ClassTwoderivedClass");
   }
}

class ClassThree : ClassTwo {
   public override void display() {
      Console.WriteLine("ClassThree: Another Derived Class");
   }
}

上面,在 ClassThree 派生类下,我们尝试重写 seal 方法。这会显示错误,因为使用 seal 方法时不允许这样做。


相关文章