《.NET程序员面试秘笈》----面试题5 描述sealed修饰符的使用

简介: 【考点】sealed修饰符的意义,密封类和抽象类的关系,sealed修饰符的用法。

本节书摘来自异步社区《.NET程序员面试秘笈》一书中的第1章,面试题5,作者: 张云翯, 更多章节内容可以访问云栖社区“异步社区”公众号查看。

面试题5 描述sealed修饰符的使用

.NET程序员面试秘笈
【考点】sealed修饰符的意义,密封类和抽象类的关系,sealed修饰符的用法。

【出现频率】

【解答】

在ch01目录下新建一个程序文件,并命名为Sealed.cs,编写代码如程序1.6所示。


6918365ee0fcdd20c1d0c41146e95187def64aff

在命令行下编译Sealed.cs后,执行Sealed程序,其效果如图1.8所示。


146b5edf208f5185b440cb551d743dd7a640615d

从本例代码中可知,密封类一般情况下的使用方法和其他类一样,只是无法被继承。代码中Product类的虚方法display方法被Phone类重写,而被重写的display方法前面也加了sealed修饰符。在这种情况下,密封的display方法无法被所属类的子类继续重写,如本例代码中的Phone3G类,无法重写display方法。

说明:
密封类可用于单一功能的实现,并且防止被意外地继承,产生非预期的效果,这也是封装性的体现。

【分析】

sealed修饰符用于修饰类、实例方法和属性。sealed用于修饰类时,该类无法被继承,所以该类也被称为密封类。而abstract类(抽象类)必须被继承才有意义,所以,sealed修饰符和abstract修饰符是互相排斥的,无法共存。密封方法会重写基类的方法,sealed用于修饰实例被重写的虚方法或虚属性时,表示该方法或属性无法再被重写。

注意:
sealed修饰实例方法或属性时,必须和override一起使用。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
3月前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
57 10
|
4月前
|
算法 Java 索引
【Java集合类面试四】、 描述一下Map put的过程
这篇文章详细描述了HashMap中put操作的过程,包括首次扩容、计算索引、插入数据以及链表转红黑树和可能的再次扩容。
【Java集合类面试四】、 描述一下Map put的过程
|
4月前
|
JavaScript 前端开发 小程序
CoderGuide 程序员前后端面试题库,打造全网最高质量题库
CoderGuide涵盖范围包括且不限于:前端面试题(Vue,React,JS,HTTP,HTML,CSS面试题等),后端面试题(Java,Python,Golang,PHP,Linux,Mysql面试题等),以及算法面试题,大厂面试题,高频面试题,校招面试题等,你想要的,这里都有!
72 2
|
5月前
|
缓存 监控 算法
Java面试题:描述Java垃圾回收的基本原理,以及如何通过代码优化来协助垃圾回收器的工作
Java面试题:描述Java垃圾回收的基本原理,以及如何通过代码优化来协助垃圾回收器的工作
90 8
|
5月前
|
存储 Java 编译器
Java面试题:描述方法区(Method Area)的作用以及它在JVM中的演变(从永久代到元空间)
Java面试题:描述方法区(Method Area)的作用以及它在JVM中的演变(从永久代到元空间)
60 3
|
5月前
|
Java UED
Java面试题:描述JVM中垃圾收集的Stop-The-World现象及其影响
Java面试题:描述JVM中垃圾收集的Stop-The-World现象及其影响
58 1
|
5月前
|
监控 Java 调度
Java面试题:描述Java线程池的概念、用途及常见的线程池类型。介绍一下Java中的线程池有哪些优缺点
Java面试题:描述Java线程池的概念、用途及常见的线程池类型。介绍一下Java中的线程池有哪些优缺点
77 1
|
5月前
|
监控 安全 Java
Java面试题:描述Java反射机制及其应用场景,并讨论其优缺点。
Java面试题:描述Java反射机制及其应用场景,并讨论其优缺点。
52 1
|
5月前
|
缓存 Java
Java面试题:描述Java中的线程池及其实现方式,详细说明其原理
Java面试题:描述Java中的线程池及其实现方式,详细说明其原理
50 0
|
5月前
|
设计模式 算法 Java
Java面试题:描述Java中的模板方法模式及其作用?如何在Java中实现模板方法模式?
Java面试题:描述Java中的模板方法模式及其作用?如何在Java中实现模板方法模式?
45 0