3

似乎通过将类标记为密封可以获得一些真正的好处:

  1. 某些情况下的表现
  2. 其他特殊情况下的编译时类型安全密封类的显式转换失败
  3. 防止意外继承您的类

缺点似乎相对较少......您可以在不破坏代码的情况下解封一个类,但您不能在以后密封一个在不破坏代码的情况下解封的类。

除非您打算继承它,否则始终将类标记为密封是最佳做法吗?为什么或者为什么不?

关于这个主题的任何其他意见或指导?

4

1 回答 1

1

我认为使用 Sealed 类主要优势之一是performance. JIT 编译器可以通过非虚拟调用方法来生成更高效的代码。但是您可以争辩说性能增益取决于所使用的算法。

制作类印章使得无法继承它并覆盖它的成员,从而为执行提供受控环境。然而,另一方面,重写未被设计为被重写的类成员可能会产生意想不到的结果

默认情况下应该密封类,但是许多编译器不这样做,我们必须显式标记它们

参考

在密封的关键字上闲逛

为什么要使用密封关键字

于 2013-10-28T04:45:33.473 回答