C# 中的 sealed 关键字

在C#中,sealed关键字用于阻止一个类被继承,或者阻止一个成员(如方法、属性、索引器或事件)被重写。当一个类被声明为sealed时,它不能有子类,也就是说,不能有其他类从它继承。

当一个成员(如方法、属性、索引器或事件)被声明为sealed时,它不能在派生类中被重写。这对于阻止派生类修改特定成员的行为非常有用。

使用sealed关键字的基本语法如下:

csharp 复制代码
sealed class MyClass
{
    // ...
}

sealed override void MyMethod()
{
    // ...
}

需要注意的是,sealed关键字只能与class一起使用,不能与interfaceabstract类一起使用。同时,sealed关键字只能与override关键字一起使用,不能单独用于方法、属性、索引器或事件。

例如,下面的代码定义了一个sealed类和一个sealed方法:

csharp 复制代码
public class MyBaseClass
{
    public virtual void MyMethod()
    {
        Console.WriteLine("Base class method.");
    }
}

public sealed class MySealedClass : MyBaseClass
{
    public sealed override void MyMethod()
    {
        Console.WriteLine("Sealed class method.");
    }
}

在这个例子中,MySealedClass不能被继承,而MyMethod不能在任何派生类中被重写。

相关推荐
她说彩礼65万2 分钟前
C# Lambda 表达式
开发语言·c#
Bug快跑-14 分钟前
Java、C# 和 C++ 并发编程的深度比较与应用场景
java·开发语言·前端
2501_9411114610 分钟前
高性能计算集群部署
开发语言·c++·算法
普通网友37 分钟前
模板编译期机器学习
开发语言·c++·算法
普通网友39 分钟前
C++与机器学习框架
开发语言·c++·算法
普通网友40 分钟前
C++安全编程指南
开发语言·c++·算法
学困昇1 小时前
C++11中的右值引用和移动语义
开发语言·c++
有梦想的攻城狮1 小时前
初识Rust语言
java·开发语言·rust
程序猿_极客1 小时前
【2025 最新】 Python 安装教程 以及 Pycharm 安装教程(超详细图文指南,附常见问题解决)
开发语言·python·pycharm·python安装以及配置
2501_941235731 小时前
C++中的装饰器模式变体
开发语言·c++·算法