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关键字浅谈
文章地址:http://www.mswzjz.cn/qtweb/news32/441882.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

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