编写程序得到长方体的表面积和体积。构建抽象类shape,声明两个抽象方法(或者两个虚方法)表面积及体积,将子类对象转为父类对象实现方法的调用。 C#
时间: 2024-02-16 14:02:47 浏览: 71
java计算长方体体积源码
好的,这是一个 C# 的实现示例:
```csharp
using System;
abstract class Shape {
public abstract double SurfaceArea();
public abstract double Volume();
}
class Cuboid : Shape {
private double length;
private double width;
private double height;
public Cuboid(double length, double width, double height) {
this.length = length;
this.width = width;
this.height = height;
}
public override double SurfaceArea() {
return 2 * (length * width + width * height + height * length);
}
public override double Volume() {
return length * width * height;
}
}
class Program {
static void Main(string[] args) {
Cuboid c = new Cuboid(3, 4, 5);
Console.WriteLine("Surface Area: {0}", c.SurfaceArea());
Console.WriteLine("Volume: {0}", c.Volume());
// 子类对象转为父类对象实现方法的调用
Shape s = new Cuboid(3, 4, 5);
Console.WriteLine("Surface Area: {0}", s.SurfaceArea());
Console.WriteLine("Volume: {0}", s.Volume());
}
}
```
输出结果:
```
Surface Area: 94
Volume: 60
Surface Area: 94
Volume: 60
```
这个程序中,我们定义了一个抽象类 Shape,它包含两个抽象方法 SurfaceArea 和 Volume,表示计算表面积和体积的方法。然后我们定义了一个子类 Cuboid,它继承了 Shape 类,并实现了 SurfaceArea 和 Volume 方法。在主程序中,我们创建了一个 Cuboid 对象 c,并调用它的 SurfaceArea 和 Volume 方法来计算长方体的表面积和体积。接着,我们创建了一个 Shape 对象 s,并将它初始化为 Cuboid 类型的对象,这里是子类对象转为父类对象的例子,然后调用它的 SurfaceArea 和 Volume 方法,实现了方法的多态调用。
阅读全文