C#定义接口Ishape,其中有一个求面积的抽象方法: double GetArea(); 接下来分别定义矩形类、三角形类、圆形类,并分别实现接口 中的抽象方法GetArea()
时间: 2024-11-05 13:25:50 浏览: 23
利用java定义Point2D及定义接口与抽象类
在C#中,定义接口可以使用`interface`关键字。假设我们有这样一个接口`IShape`,用于表示几何形状并提供计算面积的功能:
```csharp
public interface IShape
{
double GetArea(); // 抽象方法,声明返回一个双精度浮点数的面积
}
```
然后我们可以分别为矩形、三角形和圆形这三个形状创建对应的实现类:
1. **矩形类 Rectangle**:
```csharp
public class Rectangle : IShape
{
public double Width { get; set; }
public double Height { get; set; }
public double GetArea()
{
return Width * Height;
}
}
```
2. **三角形类 Triangle**:
```csharp
public class Triangle : IShape
{
public double Base { get; set; }
public double Height { get; set; }
public double GetArea()
{
return 0.5 * Base * Height;
}
}
```
3. **圆形类 Circle**:
```csharp
public class Circle : IShape
{
public double Radius { get; set; }
public double GetArea()
{
return Math.PI * Radius * Radius;
}
}
```
在这个例子中,每个形状类都实现了`IShape`接口的`GetArea()`方法,提供了各自独特的方法来计算面积。虽然它们的行为各异(矩形通过长宽相乘,三角形通过底和高的一半,圆形则根据半径和π),但都统一了操作名称,这就是多态的一个体现。
阅读全文