首页 理论教育 C#编程新手自学手册:版本base构造函数指定

C#编程新手自学手册:版本base构造函数指定

时间:2023-10-22 理论教育 版权反馈
【摘要】:base可以在声明构造函数时,指定最先执行的构造函数。实例45:根据参数的匹配度按顺序执行对应的方法下面将通过一个实例来说明使用base指定构造函数的具体流程。4)在类class2内class2的构造函数nn。图10-4 实例执行结果由图10-6所示结果可以看出,在执行类class2的构造函数class2前,预先执行了参数最为匹配的基类构造函数class1。而且,在创建派生类的实例时,可以使用base关键字调用基类的构造函数。

C#编程新手自学手册:版本base构造函数指定

base可以在声明构造函数时,指定最先执行的构造函数。具体格式如下:

978-7-111-36370-5-Part02-321.jpg

其中,base所表示的是该类的基类所声明的、形参与实参最为匹配的另一个实例的构造函数,此基类的构造函数会在执行这个当前声明的构造函数之前执行。

实例45:根据参数的匹配度按顺序执行对应的方法

下面将通过一个实例来说明使用base指定构造函数的具体流程。本实例保存在“光盘:\daima\10”文件夹内,项目名为baseshiyong。实例的功能是根据参数的匹配度按顺序执行对应的方法。实例文件的主要代码如下:

978-7-111-36370-5-Part02-322.jpg

978-7-111-36370-5-Part02-323.jpg

上述实例代码的设计流程如下。

1)定义基类class1。

2)在基类class1内分别定义两种参数类型的构造函数:class1(int n)和class1(string s,int n)。

3)定义class1的派生子类class2。

4)在类class2内class2的构造函数nn(int n)。

5)定义class2类型的对象b。(www.xing528.com)

6)在Main()中分别调用对应的处理方法。

执行后分别调用对应的处理方法以输出显示对应的文本,如图10-4所示。

978-7-111-36370-5-Part02-324.jpg

图10-4 实例执行结果

由图10-6所示结果可以看出,在执行类class2的构造函数class2(int n)前,预先执行了参数最为匹配的基类构造函数class1(int n)。

多学一招

对于C#中的构造函数,其调用的具体时机是最为重要的。要想掌握其调用时机,必须掌握它的如下四个特点。

978-7-111-36370-5-Part02-325.jpg调用基类上已被其他方法重写的方法。

978-7-111-36370-5-Part02-326.jpg指定创建派生类实例时应调用的基类构造函数。

978-7-111-36370-5-Part02-327.jpg基类访问只能在构函数、实例方法或实例属性访问器中进行。

978-7-111-36370-5-Part02-328.jpg从静态方法中使用base关键字是错误的。

概括起来就是“先执行基类的方法再执行派生类的方法”。base关键字用于从派生类中访问基类成员时使用,即使基类的方法已经在派生类中重写,仍可以使用base关键字调用。而且,在创建派生类的实例时,可以使用base关键字调用基类的构造函数。使用base关键字只能访问基类的构造函数、实例方法和实例属性,不能访问基类的静态方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈