C# 如何从基类创建派生类对象?
参考答案:
在C#中,你不能直接从基类创建派生类的对象。你总是通过派生类的构造函数来创建派生类的对象。这个构造函数会隐式或显式地调用基类的构造函数(如果基类有构造函数需要被调用的话)。
下面是一个简单的例子来说明这个概念:
// 基类
public class BaseClass
{
public BaseClass()
{
Console.WriteLine("BaseClass constructor called");
}
}
// 派生类
public class DerivedClass : BaseClass
{
public DerivedClass()
{
Console.WriteLine("DerivedClass constructor called");
}
}
// 在主函数中创建派生类的对象
class Program
{
static void Main(string[] args)
{
// 创建派生类的对象
DerivedClass obj = new DerivedClass();
}
}
在这个例子中,DerivedClass
是从 BaseClass
派生出来的。当我们创建 DerivedClass
的一个对象时(即 new DerivedClass()
),DerivedClass
的构造函数首先会被调用。因为 DerivedClass
是从 BaseClass
派生出来的,所以 BaseClass
的构造函数也会被隐式地调用。因此,你会在控制台上看到以下输出:
BaseClass constructor called
DerivedClass constructor called
注意,如果基类有带参数的构造函数,而派生类没有显式地调用它,那么你需要在派生类中提供一个默认的构造函数,或者显式地调用基类的带参数的构造函数。否则,编译器会报错。