C# 中密封修饰符是什么?


当你对 C# 中的方法使用密封修饰符时,该方法就失去了覆盖能力。密封方法应该是衍生类的一部分,并且该方法必须是覆盖方法。

让我们看一个示例 -

以下示例不允许你覆盖方法 display(),因为它对衍生类 ClassTwo 有密封修饰符 -

ClassOne 是我们的基类,而 ClassTwo 和 ClassThree 是衍生类 -

示例

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

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

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

以上,在衍生类 ClassThree 下,我们尝试覆盖密封方法。当使用密封方法时,这是不允许的,所以会显示错误。

更新于: 2020 年 6 月 21 日

395 次浏览

开启你的 职业生涯

完成课程获得认证

立即开始
广告