一、基类没有定义构造函数的情况
1、派生类也可以不定义构造函数,全部采用默认的构造函数,此时,派生类新增成员的初始化工作可以用其他公有函数来完成。
2、如果只有派生类定义构造函数,只需要构造派生类对象即可,对象的基类部分使用默认构造函数来自动创建
二、基类中存在构造函数
1、基类中存在不带参数的构造函数。如果基类定义了构造函数,而且该构造函数没有参数,那么它可以隐式的被继承,也就是说,派生类根本不需要构造函数。例子如下:
namespace Test1
{
public class BaseClass
{
public BaseClass()
{
Console.WriteLine("基类的构造函数被继承");
}
}
public class ChildClass : BaseClass
{
}
class Program
{
static void Main(string[] args)
{
ChildClass cc = new ChildClass();
}
}
}
运行结果:
基类的构造函数被继承
从运行结果看,派生类继承了基类的构造函数,此时派生类不需要包含构造函数
2、基类中存在带参数的构造函数。如