C# 中的接口如何工作?

WBOY
发布: 2023-08-28 22:21:06
转载
631人浏览过

c# 中的接口如何工作?

接口定义了将由类或结构实现的契约。它可以包含方法、属性、事件和索引器。接口与类类似,只不过它不保存任何数据,仅指定它可以执行的行为(或更准确地说,实现它的类可以执行的行为)。

类可以实现一个行为或更多接口。要实现接口成员,类应具有与接口成员具有相同方法定义的公共成员,即相同的名称和签名。

例如,IComparer 是在 System.Collections 命名空间中定义的接口它定义了比较两个对象的方法的契约。 Car类实现了IComparer接口

public interface IDriver{
   void Drive();
}
public class Car : IDriver{
   public string Name { get; set; }

   public int Speed { get; set; }
   public void Drive(){
      Console.WriteLine($"{Name}: {Speed}");
   }
}
登录后复制

接口上的所有成员都是隐式抽象的,并且没有任何实现细节。所有接口成员都是公共的。不能将访问修饰符与接口成员一起使用。实现接口的类必须提供实现该接口的公共方法。

接口可以扩展其他接口,例如 -

如知AI笔记
如知AI笔记

如知笔记——支持markdown的在线笔记,支持ai智能写作、AI搜索,支持DeepseekR1满血大模型

如知AI笔记 27
查看详情 如知AI笔记
public interface IPerformer { void Perform(); }
public interface ISinger : IPerformer{
   void Sing();
}
登录后复制

接口允许您将来自多个源的行为包含在一个类中。由于 C# 不像 C++ 那样允许多重继承,因此接口是在 C# 中实现多重继承的一种方法。

接口的一个缺点是,当您使用接口公开 API 时,接口的灵活性不如类。当您更改接口的约定时,实现该接口的所有类都会中断,并且需要更新才能实现该接口。

示例

 实时演示

using System;
class Program{
   static void Main(){
      var carOne = new Car { Name = "Honda", Speed = 100 };
      var carTwo = new Car { Name = "Toyota", Speed = 70 };
      carOne.Drive();
      carTwo.Drive();
   }
}
public interface IDriver{
   void Drive();
}
public class Car : IDriver{
   public string Name { get; set; }
   public int Speed { get; set; }
   public void Drive(){
      Console.WriteLine($"{Name}: {Speed}");
   }
}
登录后复制

输出

Honda: 100
Toyota: 70
登录后复制

以上就是C# 中的接口如何工作?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:tutorialspoint网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号