时间:2021-05-20
本文实例讲述了C#中派生类调用基类构造函数用法。分享给大家供大家参考。具体分析如下:
这里的默认构造函数是指在没有编写构造函数的情况下系统默认的无参构造函数
1、当基类中没有自己编写构造函数时,派生类默认的调用基类的默认构造函数
例如:
此时实例化派生类时,调用基类默认构造函数
2、当基类中编写构造函数时,派生类没有指定调用构造哪个构造函数时,会寻找无参的构造函数,如果没有则报错,另外无论调用派生类中的哪个构造函数都是寻找无参的那个基类构造函数,而非参数匹配。
例如:
此时实例化派生类时则报错
3、基类中编写了构造函数,则派生类中可以指定调用基类的某个构造函数,使用base关键字。
例如
此时实例化派生类时使用的带一个参数的构造函数时,则不会报错,因为他指定了基类的构造函数。
4、如果基类中的构造函数不含有无参构造函数,那么派生类中的构造函数必须全部指定调用的基类构造函数,否则出错
例如
此时编译将不能通过
希望本文所述对大家的C#程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
basebase关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。基类访问只能在构造函数、实例方法
和构造函数类似,析构函数也是不能被继承的。创建派生类对象时,构造函数的调用顺序和继承顺序相同,先执行基类构造函数,然后再执行派生类的构造函数。但是对于析构函数,
基类的构造函数不能被继承,在声明派生类时,对继承过来的成员变量的初始化工作也要由派生类的构造函数来完成。所以在设计派生类的构造函数时,不仅要考虑派生类新增的成员
继承 在现有类(称为基类、父类)上建立新类(称为派生类、子类)的处理过程为继承。派生类能自动获取基类(除了构造函数和析构函数外的所有成员),可以在派生类中添加
指定创建派生类实例时应调用的基类构造函数;调用基类上已被其他方法重写的方法。注意:不能从静态方法中使用base关键字,base关键字只能在实例构造函数、实例方法