C#继承与构造函数的调用实例演示

开发 后端
C#继承构造函数的调用实例演示向你介绍了在实际操作过程中C#继承构造函数的调用顺序以及步骤。

C#继承构造函数的调用实例演示

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5.  
  6. namespace test  
  7. {  
  8. class Program  
  9. {  
  10. static void Main(string[] args)  
  11. {  
  12. //***种情况  --C#继承构造函数的调用
  13. A a = new B();//x=1,y=0  
  14. a.PrintFields();//x=1,y=-1  
  15. //因为构造B之前,先执行变量,y没有明确赋值,默认为0。  
  16. //A构造函数调用的PrintFields方法在A类里是虚函数,它的实现是在B类,  
  17. //所以执行B类的PrintFields方法,结果输出。  
  18. //虽然继续执行完B的构造函数,使y的值是-1.但结果之前已经输出  
  19.  
  20. //第二种情况  --C#继承构造函数的调用
  21. B b = new B();//x=1,y=0  
  22. b.PrintFields();//x=1,y=-1  
  23. //因为构造B之前,先执行变量,y没有明确赋值,默认为0。  
  24. //执行B的构造函数,因为B继承A,所以先执行A的构造函数。//  
  25. A构造函数调用的PrintFields方法在A类里是虚函数,它的实现是在B类,  
  26. //所以执行B类的PrintFields方法,结果输出。  
  27. //虽然继续执行完B的构造函数,使y的值是-1.但结果之前已经输出 //第三种情况  
  28. A c = new A();  
  29. c.PrintFields();//什么都不输出  
  30.  
  31. Console.ReadKey();  
  32. }  
  33.  
  34. }  
  35.  
  36. class A  //C#继承构造函数的调用
  37. {  
  38. public A()  
  39. {  
  40. PrintFields();  
  41.  
  42. }  
  43. public virtual void PrintFields()  
  44. { }  
  45. }  
  46. class B : A  
  47. {  
  48. int x = 1;  
  49. int y;  
  50. public B()  
  51. {  
  52. y = -1;  
  53. }  
  54. public override void PrintFields()  
  55. {  
  56. Console.WriteLine("x={0},y={1}", x, y);  
  57. }  
  58. }  
  59.  

C#继承构造函数的调用的基本情况就向你介绍到这里,希望对你学习和掌握C#继承构造函数的调用有所帮助。

【编辑推荐】

  1. C#构造函数的运用浅析
  2. 学习C#构造函数的一点体会
  3. C#静态构造函数特点浅析
  4. C#静态构造函数学习心得浅析
  5. C#继承构造函数实现浅析
责任编辑:仲衡 来源: 中国自学编程网
相关推荐

2009-09-01 18:29:10

C#继承C#多态

2009-08-13 18:36:36

C#继承构造函数

2009-10-23 11:31:05

CLR Via C#调

2009-08-13 18:15:06

C#继承构造函数

2009-08-14 09:15:28

C#调用构造函数

2009-08-26 15:35:59

C#虚函数

2009-08-18 13:30:01

C#安装与部署

2009-08-14 09:50:46

C#复制构造函数

2009-08-13 14:36:40

C#结构体构造函数

2009-08-18 10:17:25

C#枚举类型

2009-08-13 17:30:30

C#构造函数

2009-08-24 18:09:13

C#构造函数

2009-07-31 14:15:38

C# 构造函数

2009-07-30 15:24:13

C#析构函数C#构造函数

2009-08-13 17:38:42

C#构造函数

2009-07-31 15:37:45

C#静态构造函数

2009-08-20 14:28:00

C#静态构造函数

2009-09-04 11:15:07

选择C#构造函数

2024-04-07 07:49:05

C#Switch模式匹配

2009-07-31 15:44:02

C#静态构造函数
点赞
收藏

51CTO技术栈公众号