派生类的构造方法在执行自己的任务之前将会调用基类的构造方法。C#也是这样吗?

来源:百度知道 编辑:UC知道 时间:2024/05/15 20:01:06
java中派生类的构造方法在执行自己的任务之前将会调用基类的构造方法。调用分两种:
显式调用
隐式调用

显式调用:在派生类构造方法的第一句使用super关键字来指定调用基类的哪个构造法。
super(); //调用基类的默认构造方法
super( 实参 ); //调用基类带参数构造方法
隐式调用:如果没有显式调用,则自动调用基类的默认构造方法,相当于显式调用super( );

那么请问在C#中也是这样吗?子类的构造方法在执行自己的任务之前将会调用基类的构造方法吗?

C#默认是调用基类的无参构造函数。
当创建派生类的对象时,系统将会调用基类的构造函数和派生类的构造函数,构 造函数的执行次序是:先执行基类的构造函数,再执行派生类的构造函数。如果派生类又有对象成员,则,先执行基类的构造函数,再执行成员对象类的构造函数,最后执行派生类的构造函数。

至于执行基类的什么构造函数,缺省情况下是执行基类的无参构造函数,如果要执行基类的有参构造函数,则必须在派生类构造函数的成员初始化表中指出

当然,这个是面向对象方法通用的,C#也一样

你可以写段小程序试试不就知道了

差不多的,我

是的 阿