C# · 12月 27, 2021

c# – 与覆盖关联的密封关键字

在以下代码的方法的签名中,始终需要按照密封关键字进行覆盖: public sealed override string Method1(){…..}

我的意思是,如果我想在基类中“封装”方法而不用重写,那么override关键字是否仍然是必需的?

解决方法 封闭一个方法只有在你覆盖它的时候才有意义.

这里发生的情况如下:
您将从基类(覆盖)覆盖一个方法,并告诉编译器从类中派生的类不再允许覆盖此方法(seal).

如果该方法是您在类中声明的新方法,并且希望阻止派生类覆盖它,则不要将其声明为虚拟.

如果方法在基类中声明但是不可覆盖,则不会有任何意义,因为它已经不能被覆盖.