C#的interface
时间: 2023-10-15 18:22:44 浏览: 40
C# 中的 interface(接口)是一种定义了一组方法、属性和事件的类型。它只包含成员的声明,而不包含实现。通过使用接口,可以实现类之间的多态性,使得不同的类可以实现相同的接口并提供自己的实现逻辑。接口可以用来描述对象的行为或能力,而不关心具体的实现细节。
在 C# 中,可以使用关键字 `interface` 来定义接口。例如,下面是一个简单的接口示例:
```csharp
public interface IShape
{
double CalculateArea();
void Display();
}
```
上述接口 `IShape` 定义了两个成员:`CalculateArea()` 方法和 `Display()` 方法,但没有提供任何具体的实现。
要实现某个接口,可以在类定义中使用关键字 `class` 或 `struct` 并使用冒号 `:` 来指定要实现的接口。例如,下面是一个实现了 `IShape` 接口的类示例:
```csharp
public class Circle : IShape
{
private double radius;
public Circle(double radius)
{
this.radius = radius;
}
public double CalculateArea()
{
return Math.PI * radius * radius;
}
public void Display()
{
Console.WriteLine("Circle");
}
}
```
在上述示例中,`Circle` 类实现了 `IShape` 接口,并提供了 `CalculateArea()` 和 `Display()` 方法的具体实现。
通过接口,可以实现多态性,例如可以将接口类型的变量指向实现了该接口的任何类的实例。这样,可以调用接口定义的成员方法,而不需要关心具体的类类型。