运用c#知识,设计一个控制台程序, 该程序中有一个矩形Rectangle类,在Rectangle类中定义数据成员长度及宽度,定义该类的构照函数可以对数据成员进行初始化,定义计算面积的虚方法area()和显示矩形面积的虚方法show()等方法。通过以该矩形Rectangle类为基类派生出立方体Cube类,在该派生类Cube类中数据成员由长度,宽度及高度构成,在该Cube类中定义构造函数可以对数据成员进行初始化,及分别对计算面积方法area()进行和show()两个虚方法进行了重写,使得分别可以计算派生类Cube类的表面积和显示计算结果。另外设计一个CArea类,在该类中可以通过生成立方体类对象的方式执行,通过生成立方体类Cube类对象的方式,调用类的构造函数完成对象的初始化,具体数据可以由设计者给出;对象合理调用方法area()计算派生类对象的面积,通过show()方法依次显示输出面积信息。
时间: 2024-03-19 09:44:04 浏览: 151
好的,我会根据您的要求来设计这个控制台程序。以下是完整代码:
```csharp
using System;
// Rectangle类
class Rectangle {
protected double length, width;
public Rectangle(double l = 0, double w = 0) {
length = l;
width = w;
}
public virtual double area() {
return length * width;
}
public virtual void show() {
Console.WriteLine("矩形面积为:" + area());
}
}
// Cube类
class Cube : Rectangle {
private double height;
public Cube(double l = 0, double w = 0, double h = 0) : base(l, w) {
height = h;
}
public override double area() {
return 2 * (length * width + length * height + width * height);
}
public override void show() {
Console.WriteLine("立方体表面积为:" + area());
}
}
// CArea类
class CArea {
public CArea() {
Cube cube = new Cube(2, 3, 4);
cube.show();
}
}
class Program {
static void Main(string[] args) {
CArea area = new CArea();
}
}
```
这个程序中,首先定义了一个Rectangle类,其中包含了矩形的长度和宽度属性,以及计算面积和显示面积的虚方法。然后通过派生类的方式定义了Cube类,其中包含了长、宽和高属性,同时重写了父类的虚方法,实现了计算表面积和显示表面积的功能。
最后,定义了一个CArea类,通过调用Cube类的构造函数来生成立方体对象,然后调用其方法来计算表面积并显示输出结果。在Main函数中,实例化了一个CArea对象,完成了程序的执行。
阅读全文