在方法上的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派生类下,我们尝试覆盖密封方法。这将显示错误,因为使用密封方法时不允许这样做。