C# sealed修饰符学习笔记

开发 后端
这里介绍C# sealed修饰符表示密封用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰符在含义上互相排斥用于方法和属性

C#语言还是比较常见的东西,这里我们主要介绍C# sealed修饰符,包括介绍两个修饰符在含义上互相排斥用于方法和属性等方面。

C# sealed修饰符是干什么的?

C# sealed修饰符表示密封用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰符在含义上互相排斥用于方法和属性时,表示该方法或属性不能再被重写,必须和 override 关键字一起使用,因为使用 C# sealed修饰符的方法或属性肯定是基类中相应的虚成员通常用于实现第三方类库时不想被客户端继承,或用于没有必要再继承的类以防止滥用继承造成层次结构体系混乱恰当的利用 C# sealed修饰符也可以提高一定的运行效率,因为不用考虑继承类会重写该成员。

示例:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.    
  5. namespace Example06  
  6. {  
  7. class Program  
  8. {  
  9. class A  
  10. {  
  11. public virtual void F()  
  12. {  
  13. Console.WriteLine("A.F");  
  14. }  
  15. public virtual void G()  
  16. {  
  17. Console.WriteLine("A.G");  
  18. }  
  19. }  
  20. class B : A  
  21. {  
  22. public sealed override void F()  
  23. {  
  24. Console.WriteLine("B.F");  
  25. }  
  26. public override void G()  
  27. {  
  28. Console.WriteLine("B.G");  
  29. }  
  30. }  
  31. class C : B  
  32. {  
  33. public override void G()  
  34. {  
  35. Console.WriteLine("C.G");  
  36. }  
  37. }  
  38. static void Main(string[] args)  
  39. {  
  40. new A().F();  
  41. new A().G();  
  42. new B().F();  
  43. new B().G();  
  44. new C().F();  
  45. new C().G();  
  46.    
  47. Console.ReadLine();  
  48. }  
  49. }  

【编辑推荐】

  1. C# const常量详细介绍
  2. C# Lambda表达式学习笔记
  3. C#隐式类型局部变量经验总结
  4. 调用C# Thread.Start()方法
  5. C# CheckStatus()方法
责任编辑:佚名 来源: 博客园
相关推荐

2009-08-24 16:49:39

C#修饰符

2009-08-27 11:12:03

C# abstract

2009-08-21 13:58:06

C# virtual修

2009-08-27 13:06:13

C# new修饰符

2009-09-02 17:14:28

C#修饰符

2009-08-27 11:04:08

C# extern修饰

2009-09-04 11:06:40

C#访问修饰符

2009-09-02 17:04:35

C# Extern修饰

2011-06-28 09:29:11

C#修饰符

2024-09-27 09:50:11

C#正则表达式

2023-12-29 09:01:27

SwiftUI视图修饰符

2011-07-20 16:48:22

C++static

2011-07-20 16:57:05

C++const

2011-07-20 16:50:39

inlinec++

2015-08-18 09:25:11

Java修饰符关键词

2010-01-11 18:46:15

VB.NET修饰符

2009-08-13 11:10:32

C#基础概念

2009-07-22 08:45:35

Scala超类构造器override修饰符

2009-08-20 15:02:57

C# If语句

2009-08-12 15:50:40

C# ListBox
点赞
收藏

51CTO技术栈公众号