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不能在任何派生类中被重写。

相关推荐
浅念-20 分钟前
C++ 继承
开发语言·c++·经验分享·笔记·学习·算法·继承
新缸中之脑1 小时前
Sonnet 4.6 vs Opus 4.6
java·开发语言
曹牧1 小时前
Java:@RequestBody 和 @RequestParam混合使用
java·开发语言
思茂信息1 小时前
基于CST 3D Combined功能的以太网口RE仿真
开发语言·javascript·单片机·嵌入式硬件·matlab·3d
番茄去哪了1 小时前
Python基础入门(二)
linux·服务器·开发语言·python
代龙涛2 小时前
wordpress块主题
开发语言·后端·php
毕设源码-赖学姐2 小时前
【开题答辩全过程】以 基于java电脑售后服务管理系统设计为例,包含答辩的问题和答案
java·开发语言
柒.梧.2 小时前
Java构造器精讲:从基础特征到权限修饰符
开发语言·python
PingdiGuo_guo3 小时前
C++指针(一)
开发语言·c++
模型时代3 小时前
Arista暗示正在开发AI网络管理遥测工具
开发语言·人工智能·php