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#继承构造函数实现浅析

网页标题:C#继承与构造函数的调用实例演示
标题URL:http://www.shufengxianlan.com/qtweb/news48/338798.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联