中甲

C#中的关键字之:base、this_a

2020-01-16 15:10:14来源:励志吧0次阅读

C# 中的关键字之:base、this。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();

}

}

/**//*

控制台输出:

The BaseClass Name is BaseClass

This DerivedClass is DerivedClass

*/

在派生类中调用基类构造函数。

以下是引用片段:

//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);

}

}

/**//*

控制台输出:

in BaseClass()

in BaseClass(1)

*/

注意点:

从静态方法中使用 base 关键字是错误的。

base 主要用于面向对象开发的对态这方面,在示例2中有体现。

this 关键字引用类的当前实例。

金振口服液是西药还是中药
儿童健脾胃的药排行榜
儿童止咳药用药安全
藤黄健骨丸什么牌子好
分享到: