博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《.NET程序员面试秘笈》----面试题5 描述sealed修饰符的使用
阅读量:5961 次
发布时间:2019-06-19

本文共 720 字,大约阅读时间需要 2 分钟。

本节书摘来自异步社区《.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一起使用。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

你可能感兴趣的文章
CentOS定时同步系统时间
查看>>
批量删除用户--Shell脚本
查看>>
Eclipse Java @Override 报错
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
linux中cacti和nagios整合
查看>>
Python高效编程技巧
查看>>
Kafka服务端脚本详解(1)一topics
查看>>
js中var self=this的解释
查看>>
面试题
查看>>
Facebook 接入之获取各个配置参数
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
sed单行处理命令奇偶行输出
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>