成都网站建设设计

将想法与焦点和您一起共享

C#base关键字浅谈

C# base关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。基类访问只能在构造函数、实例方法或实例属性访问器中进行。

示例:

在派生类中调用基类方法。

 
 
 
  1. //base关键字
  2. //访问基类成员
  3. usingSystem;
  4. publicclassBaseClass
  5. {
  6. protectedstring_className="BaseClass";
  7. publicvirtualvoidPrintName()
  8. {
  9. Console.WriteLine("ClassName:{0}",_className);
  10. }
  11. }
  12. classDerivedClass:BaseClass
  13. {
  14. publicstring_className="DerivedClass";
  15. publicoverridevoidPrintName()
  16. {
  17. Console.Write("TheBaseClassNameis{0}");
  18. //调用基类方法
  19. base.PrintName();
  20. Console.WriteLine("ThisDerivedClassis{0}",_className);
  21. }
  22. }
  23. classTestApp
  24. {
  25. publicstaticvoidMain()
  26. {
  27. DerivedClassdc=newDerivedClass();
  28. dc.PrintName();
  29. }
  30. }
  31. /**//*
  32. 控制台输出:
  33. TheBaseClassNameisBaseClass
  34. ThisDerivedClassisDerivedClass
  35. */
  36. 在派生类中调用基类构造函数。
  37. //keywords_base2.cs
  38. usingSystem;
  39. publicclassBaseClass
  40. {
  41. intnum;
  42. publicBaseClass()
  43. {
  44. Console.WriteLine("inBaseClass()");
  45. }
  46. publicBaseClass(inti)
  47. {
  48. num=i;
  49. Console.WriteLine("inBaseClass(int{0})",num);
  50. }
  51. }
  52. publicclassDerivedClass:BaseClass
  53. {
  54. //该构造器调用BaseClass.BaseClass()
  55. publicDerivedClass():base()
  56. {
  57. }
  58. //该构造器调用BaseClass.BaseClass(inti)
  59. publicDerivedClass(inti):base(i)
  60. {
  61. }
  62. staticvoidMain()
  63. {
  64. DerivedClassdc=newDerivedClass();
  65. DerivedClassdc1=newDerivedClass(1);
  66. }
  67. }

从静态方法中使用C# base关键字是错误的。C# base关键字主要用于面向对象开发的对态这方面。


文章标题:C#base关键字浅谈
网站链接:https://chengdu.cdxwcx.cn/article/dhdessc.html