sealed类是指不能被继承的类,通过在类前加sealed关键字实现;sealed方法是用sealed override密封的虚方法,防止进一步重写。

在C#中,sealed关键字用于限制类的继承或方法的重写。当你希望某个类不能被其他类继承时,就可以使用 sealed 关键字来修饰这个类。
什么是 sealed 类?
用 sealed 修饰的类称为密封类,表示该类不能作为基类被继承。任何尝试继承 sealed 类的操作都会在编译时报错。
例如:
sealed class Animal
{
public void Eat()
{
Console.WriteLine("Eating...");
}
}
// 编译错误:无法继承 sealed 类
class Dog : Animal // 错误!
{
}
如何防止类被继承?
只需在类定义前加上 sealed 关键字即可阻止其他类继承它。
适用场景包括:
- 你设计了一个完成度很高的工具类,不希望被扩展
- 出于安全或逻辑完整性考虑,防止行为被篡改
- 类内部实现依赖特定逻辑,继承可能导致错误
sealed 方法是什么?
sealed 还可以和 override 一起使用,用于密封一个重写的方法,防止在派生类中再次被重写。
注意:只能在重写虚方法时使用 sealed 修饰符。
class Animal
{
public virtual void MakeSound()
{
Console.WriteLine("Animal sound");
}
}
class Dog : Animal
{
public sealed override void MakeSound()
{
Console.WriteLine("Woof!");
}
}
class Puppy : Dog
{
// 编译错误:无法重写 sealed 方法
public override void Make你说() // 错误!
{
}
}
基本上就这些。使用 sealed 是一种有效的设计手段,能帮助你控制类的可扩展性,提升代码的安全性和稳定性。










