C#的sealed关键字是什么?如何防止类被继承?

来源:这里教程网 时间:2026-02-21 17:30:35 作者:

在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 是一种有效的设计手段,能帮助你控制类的可扩展性,提升代码的安全性和稳定性。

相关推荐