C#面试题

当前位置: 面试问题网 > C#面试题 > sealed修饰符是干什么的

sealed修饰符是干什么的

sealed 修饰符表示密封
   用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰符在含义上互相排斥
   用于方法和属性时,表示该方法或属性不能再被继承,必须和 override 关键字一起使用,因为使用 sealed 修饰符的方法或属性肯定是基类中相应的虚成员
   通常用于实现第三方类库时不想被客户端继承,或用于没有必要再继承的类以防止滥用继承造成层次结构体系混乱
   恰当的利用 sealed 修饰符也可以提高一定的运行效率,因为不用考虑继承类会重写该成员
   示例:
   using System;
   using System.Collections.Generic;
   using System.Text;
   namespace Example06
   {
   class Program
   {
   class A
   {
   public virtual void F()
   {
   Console.WriteLine(“A.F”);
   }
   public virtual void G()
   {
   Console.WriteLine(“A.G”);
   }
   }
   class B : A
   {
   public sealed override void F()
   {
   Console.WriteLine(“B.F”);
   }
   public override void G()
   {
   Console.WriteLine(“B.G”);
   }
   }
   class C : B
   {
   public override void G()
   {
   Console.WriteLine(“C.G”);
   }
   }
   static void Main(string[] args)
   {
   new A().F();
   new A().G();
   new B().F();
   new B().G();
   new C().F();
   new C().G();
   Console.ReadLine();
   }
   }
   }
  
   结果:
   类 B 在继承类 A 时可以重写两个虚函数
   由于类 B 中对 F 方法进行了密封, 类 C 在继承类 B 时只能重写一个函数
   控制台输出结果,类 C 的方法 F 只能是输出 类B 中对该方法的实现:
   A.F
   A.G
   B.F
   B.G
   B.F
   C.G

【sealed修饰符是干什么的】相关文章

1. sealed修饰符是干什么的

2. new修饰符是起什么作用

3. Internal修饰符有什么含义

4. internal修饰符起什么作用

5. Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?

6. 托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别

7. 我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢

8. 介绍一下javax.servlet.Servlet接口及其主要方法

9. Java Servlet API中forward() 与redirect()的区别

10. 什么是UTL_FILE, 她相关的Procedure和函数都有什么

本文来源:https://www.mianshiwenti.com/a12991.html

点击展开全部

《sealed修饰符是干什么的》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝sealed修饰符是干什么的﹞相关内容

其它栏目

也许您还喜欢