用C#编写一个程序计算“正方形、圆形”两种图形的面积,要求: a)抽象出一个基接口ComputeArea; b)在其中声明一个方法GetArea用来求面积; c)定义“正方形、圆形”(实现基接口ComputeArea); d)编写主函数并测试。
时间: 2024-10-13 21:09:55 浏览: 40
首先,我们创建一个`ComputeArea`接口,用于定义计算面积的操作:
```csharp
public interface ComputeArea
{
double GetArea();
}
```
接下来,我们为正方形和圆形定义各自的类,它们都实现了`ComputeArea`接口:
```csharp
public class Square : ComputeArea
{
private double side;
public Square(double sideLength)
{
this.side = sideLength;
}
public override double GetArea()
{
return side * side;
}
}
public class Circle : ComputeArea
{
private double radius;
public Circle(double radiusValue)
{
this.radius = radiusValue;
}
public override double GetArea()
{
return Math.PI * radius * radius;
}
}
```
现在,在主函数中,我们可以创建`Square`和`Circle`的实例,并调用`GetArea`方法进行测试:
```csharp
static void Main(string[] args)
{
ComputeArea square = new Square(5);
ComputeArea circle = new Circle(4);
Console.WriteLine($"The area of the square is: {square.GetArea()}");
Console.WriteLine($"The area of the circle is: {circle.GetArea()}");
// 测试其他形状或添加更多形状时只需替换实例即可
// 比如添加Triangle类,只要实现ComputeArea接口即可
}
```
这个程序展示了如何使用接口和继承来组织计算面积的行为,并能在主函数中轻松地切换和测试不同形状的面积。
阅读全文