`n 如何在C#中创建和使用接口?

如何在C#中创建和使用接口?

Clock Icon 发布时间:2026/8/14 13:08  · 

NET/" style="text-decoration: none; color: inherit;" title="C#">C#中,接口是定义一种合同,描述类或结构应该具备哪些成员和方法。接口只包含方法的签名和属性的声明,不包含这些成员的具体实现。通过创建和使用接口,可以实现多态,并使代码更加灵活和可维护。
定义一个接口时,可以使用关键字“interface”。例如,可以创建一个名为IShape的接口,其中包含一个方法“Draw”和一个属性“Area”。
```csharppublic interface IShape{ void Draw(); double Area { get; }}```
在实现接口时,任何类都必须提供接口中声明的所有成员的具体实现。例如,创建一个Circle类,该类实现IShape接口. 在Circle类中,提供Draw方法和Area属性的实现。
```csharppublic class Circle : IShape{ private double radius; public Circle(double radius) { this.radius = radius; } public void Draw() { Console.WriteLine("Drawing a Circle"); } public double Area { get { return Math.PI * radius * radius; } }}```
可以创建多个类实现同一接口,便于实现不同的行为。例如,可以创建一个Rectangle类,实现IShape接口,在其中提供Draw和Area的实现。这样就可以使用相同的接口类型来处理不同形状的对象。
```csharppublic class Rectangle : IShape{ private double width; private double height; public Rectangle(double width, double height) { this.width = width; this.height = height; } public void Draw() { Console.WriteLine("Drawing a Rectangle"); } public double Area { get { return width * height; } }}```
使用接口的一个关键优势是能够利用多态性。当用接口类型处理对象时,可以在运行时决定采用哪个具体类型,从而形成更灵活的代码结构。创建一个方法,使用IShape接口作为参数类型,这样就可以接受任何实现了该接口的对象。
```csharppublic void RenderShape(IShape shape){ shape.Draw(); Console.WriteLine($"Area: {shape.Area}");}```
调用RenderShape方法时,可以传入Circle或Rectangle对象。这样,无论是哪个具体实现,都会显示出相应的行为。
```csharpIShape circle = new Circle(5);IShape rectangle = new Rectangle(4, 6);RenderShape(circle);RenderShape(rectangle);```
通过接口,可以在不同类之间实现一致的功能,提升了代码的可扩展性和可维护性。在大型项目中,接口为模块间的交互提供了强大的基础。

推荐文章

热门文章