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");
   }
}

更新于: 2020 年 6 月 21 日

4K+ 浏览量

开启你的 职业生涯

完成课程即可获取认证

开始行动
广告