C#中设计一个类,作为题目1中类的子类。要求有三个构造函数,其中一个无参构造函数,两个有参构造函数。三个构造函数分别有不同的输出,以区分于父类和子类中的构造函数,其中子类有两个构造函数要分别调用父类中的两个构造函数。
时间: 2024-04-08 09:29:25 浏览: 99
以下是满足你要求的C#类设计,子类继承自题目1中的父类:
```csharp
using System;
public class ParentClass
{
public ParentClass()
{
Console.WriteLine("父类的无参构造函数");
}
public ParentClass(string message)
{
Console.WriteLine("父类的有参构造函数,传入的消息是:" + message);
}
}
public class ChildClass : ParentClass
{
public ChildClass() : base()
{
Console.WriteLine("子类的无参构造函数");
}
public ChildClass(string message) : base(message)
{
Console.WriteLine("子类的有参构造函数,传入的消息是:" + message);
}
}
```
在上述代码中,我们定义了一个名为`ParentClass`的父类,它包含了一个无参构造函数和一个有参构造函数。子类`ChildClass`继承自`ParentClass`,并且定义了一个无参构造函数和一个有参构造函数。在子类的构造函数中,我们使用`base`关键字来调用父类的对应构造函数。
现在我们可以通过测试类来实例化父类和子类的对象,分别使用三个不同的构造函数:
```csharp
class TestClass
{
static void Main(string[] args)
{
ParentClass parentObj1 = new ParentClass();
ParentClass parentObj2 = new ParentClass("Hello!");
ChildClass childObj1 = new ChildClass();
ChildClass childObj2 = new ChildClass("Hi!");
// 这里可以继续对对象进行操作
}
}
```
在`TestClass`中,我们创建了父类对象`parentObj1`和`parentObj2`,分别使用父类的无参构造函数和有参构造函数来实例化。同时,我们也创建了子类对象`childObj1`和`childObj2`,分别使用子类的无参构造函数和有参构造函数来实例化。运行以上代码,你会看到如下输出:
```
父类的无参构造函数
父类的有参构造函数,传入的消息是:Hello!
父类的无参构造函数
子类的无参构造函数
父类的有参构造函数,传入的消息是:Hi!
子类的有参构造函数,传入的消息是:Hi!
```
这样就满足了题目要求,父类和子类分别有三个不同的构造函数,并且子类能够正确调用父类的构造函数。请注意,这只是一个示例,你可以根据自己的实际需求进行修改和扩展。
阅读全文