C#关键字扫盲——Sealed 密封

Sealed

Sealed
官方描述:应用于某个类时,sealed 修饰符可阻止其他类继承自该类。 还可以对替代基类中的虚方法或属性的方法或属性使用 sealed 修饰符。 这使你可以允许类派生自你的类并防止它们替代特定虚方法或属性。


项目源码地址:https://gitee.com/michel4liu/LearnCSharp.git
项目:LearnSealed
环境VS2017 .NET Core2.0


特性1:修饰类防止继承 编译器报错

继承密封类

特性2:对基类的方法重写使用sealed 防止你的派生类override此方法

对基类的方法重写

基于特性2 如果派生类有重名方法可利用new关键字

不是基类的重写(override)方法 无法使用sealed修饰


注意点 抄自MSDN

  1. 应用于方法或属性时,sealed 修饰符必须始终与 override 结合使用。
  2. 将 abstract 修饰符与密封类结合使用是错误的,因为抽象类必须由提供抽象方法或属性的实现的类来继承。
  3. 在类中定义新方法或属性时,可以通过不将它们声明为虚拟,来防止派生类替代它们。

猜你喜欢

转载自blog.csdn.net/michel4liu/article/details/79631267