C# base关键字浅谈

开发 后端
这里介绍C# base关键字用于从派生类中访问基类的成员,从静态方法中使用C# base关键字是错误的。C# base关键字主要用于面向对象开发的对态这方面。

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

示例:

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

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

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

【编辑推荐】

  1. 如何用C#和ADO.NET访问
  2. 浅析C# Switch语句
  3. C#验证输入方法详解
  4. 简单介绍C# 匿名方法
  5. C# FileSystemWatcher对象
责任编辑:佚名 来源: 博客园
相关推荐

2009-08-06 17:52:23

C#增加that关键字

2009-09-02 09:24:03

C# this关键字

2009-08-21 14:58:56

C# this关键字

2009-08-13 13:04:29

C# lock关键字

2009-08-26 15:16:29

C# lock关键字

2009-08-13 17:44:34

C# using关键字

2009-08-21 14:16:35

C# New关键字

2009-07-31 16:34:17

dynamicC# 4.0

2011-04-21 16:57:56

staticextern

2009-09-01 15:25:04

C# default关

2024-06-04 17:02:38

newC#编程语言

2009-08-13 09:49:16

C#关键字

2011-06-14 13:26:27

volatile

2022-01-10 18:11:42

C语言应用技巧

2011-06-27 15:08:15

SEO

2024-05-29 14:09:00

C#编程this

2024-07-09 08:00:48

C#var​关键字

2011-07-14 23:14:42

C++static

2011-06-21 09:50:51

volatile

2023-11-19 22:52:42

点赞
收藏

51CTO技术栈公众号