c#中sealed关键字的使用

article/2025/10/26 5:54:54

c#中sealed关键字

前几天给大家总结了virtual(虚拟的)、abstract(抽象的)、override(重写)关键字,今天就抽空把sealed(密封的)给大家总结出来,因为这四个是一连串的,所以最后才给大家总结sealed(密封),让大家久等了。来,现在就一起来瞧瞧吧!

1、先来了解一下sealed的意思

在这里插入图片描述
从上图可知,sealed译为密封的。故名思义,就是由它修饰的类或方法将不能被继承或重写

2、作用

​ (1)在类中使用sealed修饰符可防止其他类继承此类

​ (2)在方法声明中使用sealed修饰符可防止扩充类重写此方法

3、sealed所使用的范围

​ sealed可用于修饰类、方法、属性。

切记:不能用于修饰字段和变量

(1)密封类

​ 1、被sealed修饰的类被称为密封类,所谓密封类,就是指此类不能作为基类让其他类继承

​ 2、当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。类似于Java中final关键字。
在这里插入图片描述
例子:

 sealed class Animal//Animal类被sealed关键字修饰,此时说明任何类不能从Animal类继承{}class Cat:Animal//错误,被Seled修饰的类不能作为基类让其他类继承{}

(2)密封方法

​ 被sealed修饰的方法被称为密封方法,所谓密封方法,就是指此方法不能被重写

注意:

​ (1)sealed修饰方法时,不能单独使用,只有当继承基类时重写基类方法的时候使用,而且,必须与override(重写)关键字一起使用
在这里插入图片描述
​ (2)切记:只有在继承重写的时候才能使用sealed关键字,如果继承的基类没有你想要被重写的方法,此时使用sealed关键字修饰时错误的
在这里插入图片描述
​ (3)sealed必须重写方法才能使用。也就是说只有基类的方法使用了abstract(抽象的)、virtual(虚拟的)以及override(重写)关键字的时候,才能使用sealed关键字修饰方法
在这里插入图片描述

例1:

 //基类                 //这是正确的abstract class Animal{public abstract void Hh();//抽象方法,注意:抽象方法没有方法体}//派生类class Cat:Animal{sealed public override void Hh()//密封方法必须要有override(重写)标记{}}

例2:

  //基类class Animal{public virtual void Hh()//虚方法,注意:虚方法有方法体{ }}//派生类class Cat:Animal{sealed public override void Hh()//密封方法必须要有override(重写)标记{}}

4、注意:

​ (1)被sealed修饰的类不能使用private、protected……等修饰符,并且不能使用static以及abstract修饰符

​ (2)被sealed修饰的方法或属性证明是要重写,要与override同用,并且,要与基类的访问修饰符和方法签名一致。注意:当重写时,基类的被重写方法不能使用private、static以及abstract修饰符。

以上是我对sealed(密封)关键字的一点理解和总结,希望能够帮助到跟我一样的小白。如果本篇文章有不足之处还请各位道友能够指点迷津,在此先谢谢各位道友!


http://chatgpt.dhexx.cn/article/QFSQSeIi.shtml

相关文章

快速了解sealed关键字

sealed关键字 sealed的英文意思就是密封,禁止的意思。在c#中sealed关键字可以用来修饰类和方法。作用于类时不能和abstract对象一起使用,因为使用了sealed修饰类表示此类不能被继承,而抽象类不能被继承将毫无意义。代码如下: publ…

PS 解决不能完成命令,暂存盘空间不足的问题

PS 解决不能完成命令,暂存盘空间不足的问题 解决方法: 在PS启动之时,按住 ctrl alt 键 选择暂存盘设置(旁边的上下箭头设置优先级) 方法如果没有弹出这个暂存盘首选项 可以用下列办法了实现修改 这个暂存盘设置 按…

GeoServer发布数据库中的空间数据表

如何利用GeoServer发布PostgreSQL/PostGIS中的空间数据 1.矢量数据发布2.栅格数据发布2.1 安装Image Mosaic JDBC扩展2.2 准备金字塔和瓦片2.3 创建配置文件2.4 创建数据库2.5 发布数据2.6 可能遇到的坑 实际工作中,数据存储在本地的情况应该不多,大多数…

【数据结构】顺序表的实现

文章目录 一、顺序表概念及结构二、动态顺序表和静态顺序表的选择三、动态顺序表的实现逻辑(1)创建结构体(2)具体函数实现(*)顺序表初始化(*)释放顺序表(*)打…

mysql:详解创建表的常用数据类型

1.什么是数据类型 数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。 有一些数据是要存储为数字的,数字当中有些是要存储为整数、小数、日期型等... 2.mysql常见数据类型 整数型浮…

群晖服务器创建文件夹,群晖Synology 创建共享文件夹视频图文教程

群晖 Synology 是 NAS网络存储服务器,虽然它的操作大部分都跟 Windows 差不多,但是还是有些许不同。今天我们就来学习学习如何创建群晖 Synology NAS网络存储服务器的共享文件夹。共享文件夹,可以理解为在 Windows 上的 C 、D、E盘或者是盘中的根目录。由于群晖 Synology NA…

【Windows10】Win10存储空间的作用以及如何创建存储空间

本文目录 一、不得不说的话 二、存储空间的作用 三、如何创建存储空间 四、特别提示 一、不得不说的话 默认情况下, Windows10 系统的控制面板中会有一个“储存空间”选项,不过大多用户都不知道这个选项有什么作用。接下来,就在本文中具…

win10下docker安装oracle及创建表空间

1、拉取oracle镜像 docker pull jaspeen/oracle-11g 2、查看镜像 docker images 3、下载oralce安装文件并解压 4、启动镜像 docker run --privileged --name oracle11g -p 1521:1521 -v D:\oracle:/install jaspeen/oracle-11g 5、等待安装完成显示如下: 6、更…

ejb模式_EJB的完整形式是什么?

ejb模式 EJB:企业Java Bean (EJB: Enterprise Java Bean) EJB is an abbreviation of Enterprise Java Bean. EJB is one of many Java application programming interfaces (API) for flexible and manageable structuring of Java Platform, Enterprise Edition (…

到底EJB是什么?

 到底EJB是什么?被口口相传的神神秘秘的,百度一番,总觉得没有讲清楚的,仍觉得一头雾水。百度了很久,也从网络的文章的只言片语中,渐渐有了头绪。 用通俗话说,EJB就是&a…

什么是EJB?不再神秘!

1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务集群"和"企业级开发&…

jndi(是什么)和ejb容器的关系

如下: 转载了几篇关于ejb jndi的文章! 转载: http://blog.csdn.net/zhaosg198312/article/details/3979435 JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。 JNDI的扩展: JNDI在满足了数据源配置的要求的基础上&#xff…

EJB是什么?

来源:http://blog.csdn.net/jojo52013145/article/details/5783677 1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那…

EJB到底是什么

百科定义EJB: 被称为java企业bean,服务器端组件,核心应用是部署分布式应用程序。用它部署的系统不限定平台。实际上ejb是一种产品,描述了应用组件要解决的标准 标准: 可扩展 (Scalable)分布式 (Distributed)事务处理(T…

EJB是什么,以及weblogic和tomcat的区别

首先说一下weblogic和tomcat的区别 weblogic是 java应用服务器 用于开发、集成、部署和管理大型分布式web应用、网络应用和数据库应用 将java的动态功能和java enterprise标准的安全性引入大型网络应用的开发集成部署和管理之中。 weblogic中有domain ,域是作为一…

到底EJB是什么

到底EJB是什么?被口口相传的神神秘秘的,百度一番,总觉得没有讲清楚的,仍觉得一头雾水。百度了很久,也从网络的文章的只言片语中,渐渐有了头绪。 用通俗话说,EJB就是:"把你编写的…

EJB是什么

1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务 集群"和"企业级开发…

EJB到底是什么,真的那么神秘吗?

百科定义EJB: 被称为java企业bean,服务器端组件,核心应用是部署分布式应用程序。用它部署的系统不限定平台。实际上ejb是一种产品,描述了应用组件要解决的标准 标准: 可扩展 (Scalable)分布式 (Distributed)事务处理(T…

程序无法正常启动(0xc000007b) 解决的过程

版权声明:转载需标明该文链接。 https://blog.csdn.net/zaibeijixing/article/details/87785073 解决(2019/2/20) 之前基于opencv 的项目都完全没问题,现在新建的一个opencv程序出现上述错误。查阅网上资料,自己摸索&a…

“0xc000007b无法正常启动”我的解决方案

关于这个问题,网上有很多解决方案,但是你得找到自己的问题在哪。 有的说DirectX 9.0损坏,我试着恢复了一下,还是没有得到解决。 还是DLL的问题,可能是缺少或者32位和64位使用不合适。 我的问题最开始不是这个&#xf…