C# base關鍵字淺談
作者:佚名
這里介紹C# base關鍵字用于從派生類中訪問基類的成員,從靜態方法中使用C# base關鍵字是錯誤的。C# base關鍵字主要用于面向對象開發的對態這方面。
C# base關鍵字用于從派生類中訪問基類的成員:調用基類上已被其他方法重寫的方法。指定創建派生類實例時應調用的基類構造函數。基類訪問只能在構造函數、實例方法或實例屬性訪問器中進行。
示例:
在派生類中調用基類方法。
- //base關鍵字
- //訪問基類成員
- usingSystem;
- publicclassBaseClass
- {
- protectedstring_className="BaseClass";
- publicvirtualvoidPrintName()
- {
- Console.WriteLine("ClassName:{0}",_className);
- }
- }
- classDerivedClass:BaseClass
- {
- publicstring_className="DerivedClass";
- publicoverridevoidPrintName()
- {
- Console.Write("TheBaseClassNameis{0}");
- //調用基類方法
- base.PrintName();
- Console.WriteLine("ThisDerivedClassis{0}",_className);
- }
- }
- classTestApp
- {
- publicstaticvoidMain()
- {
- DerivedClassdc=newDerivedClass();
- dc.PrintName();
- }
- }
- /**//*
- 控制臺輸出:
- TheBaseClassNameisBaseClass
- ThisDerivedClassisDerivedClass
- */
- 在派生類中調用基類構造函數。
- //keywords_base2.cs
- usingSystem;
- publicclassBaseClass
- {
- intnum;
- publicBaseClass()
- {
- Console.WriteLine("inBaseClass()");
- }
- publicBaseClass(inti)
- {
- num=i;
- Console.WriteLine("inBaseClass(int{0})",num);
- }
- }
- publicclassDerivedClass:BaseClass
- {
- //該構造器調用BaseClass.BaseClass()
- publicDerivedClass():base()
- {
- }
- //該構造器調用BaseClass.BaseClass(inti)
- publicDerivedClass(inti):base(i)
- {
- }
- staticvoidMain()
- {
- DerivedClassdc=newDerivedClass();
- DerivedClassdc1=newDerivedClass(1);
- }
- }
從靜態方法中使用C# base關鍵字是錯誤的。C# base關鍵字主要用于面向對象開發的對態這方面。
【編輯推薦】
責任編輯:佚名
來源:
博客園