C#知识|软件接口的认识

哈喽,你好啊,我是雷工!

日知其所亡,每天学到一些过去所不知道的东西。

关于多态的出现就是为了扩展而生,在多态的实现形式上,既可以通过继承实现,也可以通过接口实现;

前面了解了继承,接下来开始学习接口,

以下为学习笔记;

01 多态实现方法

1.1、通过继承实现时

①父类类型作为方法返回值类型,实际上返回的是一个具体的子类对象;

②父类类型作为方法参数类型,实际上传递的是具体的子类对象;

1.2、通过接口实现时

①接口作为方法返回值类型,实际上返回的是一个接口实现类对象;

②接口类型作为方法参数类型,实际上传递的是一个接口实现类对象;

02 接口的概念

接口就是一个标准,一个规范;

例如USB接口,即一种通讯规范,像物理上的四根线,及每根的定义,作用,其他无论是鼠标还是键盘,想要通过该接口连接计算机的话都要符合该规范才行;不然计算机将无法兼容识别该设备,也就无法正常使用;

软件接口与之类似,只不过不如实际的接口那么直观,相对比较抽象,但应用是一致的,都需要按照一定的规范去生成去设计需要的接口;

03 为什么要使用接口

场景1:当开发一个软件时,经常设计完一个对象后,并不需要马上考虑这个对象具体怎么编写,只是知道了这个对象要实现哪些行为;

场景2:当开发软件比较复杂时需要团队开发,经常设计很多模块由不同的人员完成,怎么做到不同的人开发完能很好的结合?

基于以上场景,均可以使用接口解决其中的问题:

①:设计完对象后,可以根据行为直接设计接口(接口就是只有规范规定,但并没有具体实现)

②:开发中可以把相关的模块都抽象成接口,然后接口直接相互协作,最后不同的开发人员实现不同的模块,这些模块开发完毕后,因为有接口,各个模块就可以自动集成了。

04 后记

以上简单了解了接口,以及为什么要使用接口,接下来会进一步了解怎么使用接口。

欢迎大家点赞留言,也欢迎在交流群内踊跃探讨。

相关推荐
牛哇网络工作室14 小时前
UnityHDRP写实数字人全流程基础5—语音输入和语音识别
android·unity·c#·游戏引擎·aigc·语音识别·xcode
zlinear数据采集卡1 天前
数据采集卡从入门到精通(9):分辨率与精度——16位卡不等于1/65536的精度
开发语言·数据库·fpga开发·开源·c#
深澈Vincel1 天前
我用 C# + WebView2 做了一个针对“流氓软件”的“一键清理工具“:架构实践与踩坑记录
c#
zlinear数据采集卡1 天前
数据采集卡从入门到精通(7):流水线型ADC——级级接力,高速与高精的平衡术
开发语言·arm开发·嵌入式硬件·fpga开发·c#
kingwebo'sZone1 天前
C# 根据公式计算的方法
开发语言·c#
阿部多瑞 ABU1 天前
告别手工核图:基于 .NET + MuPDFCore 的 CAD 等轴测 PDF 材料表提取与新旧版本对比实战
后端·算法·ui·pdf·c#
条形码D1 天前
DRG综合管理分析系统-目前已经支持CHS-DRG3.0
c#·drg·3.0分组器·drg分组器·chs-drg3.0分组器
Alex Gram2 天前
数据库同步工具PanguSync图文教程
java·mysql·postgresql·sqlserver·c#·数据库同步软件·数据库同步工具
头茬韭菜2 天前
第 10 篇:「Fluss 实战案例集」—— 完整解决方案与最佳实践
c#·linq·fluss
淡海水2 天前
01-05-运行时-JIT优化全景-内联去虚拟化边界检查消除
windows·c#·虚拟化·jit·内联·边界检查消除