点击蓝字

关注我们

经常听到程序员口中说“接口”两字,什么写接口,调用接口之类的话。作为非技术人员的我们对“接口”的求知欲可是很强的,一定要了解清楚“接口”是什么。接口有两种不同的概念,一种是编程定义上的接口,一种是API接口。
这篇文章就说明一下编程定义的接口,与API接口含义。为了区分统一两个概念,下面全文接口是指编程定义的接口,API是指API接口。
▶ ▶ ▶
【接口】是什么

01
接口的概念
编程定义上的接口是指定一组函数成员而不实现成员的引用类型,其他类型-类和结构可以实现接口。
接口是对强类型的面向对象编程语言特有东西,如C#,Java,通俗地说它的出现就是对这些强类型语言定义一个标准的入口然后供后续子孙继承使用。
举个例子,我们使用的手机,都有充电接口,目前主流的手机充电器接口主要有三种:Micro USB接口;USB Type C接口;Lightning接口。这三种接口规定了什么手机使用什么充电口,我们能分清充电头的形状,大小。
02
接口定义与实现
一个接口可以继承零或多个接口,这个接口被称为显式基接口。当某个接口有比零多的显式基接口时,那么在接口的定义中的形式为,接口标识符后面跟着由一个冒号":"和一个用逗号","分开的基接口标识符列表。
▶ ▶ ▶
【API接口】是什么

01
API接口概念
应用程序接口的简称就是API,从字面意思来理解,就是发生相互交互的地方,这里的的交互就是指计算机组件之间发生交互。就像我们去饭店吃饭,我点了一个小鸡炖蘑菇,菜做好之后,有服务员来给我端菜,这里服务员的一系列动作,就是完成了一次交互,形象一点理解,服务员就是我们口中所说的应用程序接口API。简单来说,API就是计算机中不同组件发生交互的地方。
简单的讲,API就是系统预留一个通道,按照约定对系统进行一些操作,如常见的就是系统的数据进行增删改查。
02
举例
作为非专业人员肯定还是不明白,那么以下就再举个生活例子让大家理解的更明白,我们把银行比作一个应用系统,我们要去银行取钱,需要哪些操作:
这种情况下,我们先去到银行,然后到银行仓库拿一笔,再在记帐本上记上这一笔账,最后离开银行。
以上步骤显然存在问题:
我们需要到银行仓库拿钱,如果没有钥匙怎么办呢,记账的时候有人不会写字,甚至不是所有人都是诚实的,显然这种方式是不成立。
那要如何解决这个问题?
我们只需要找一个专业的银行员工来负责这些操作就好,建立一个银行柜台,让柜员进行取钱、记账等操作。这样就不需要顾客自己去取钱和记账,并且可以减少不必要的麻烦。
这种模式下,要是有人想取钱,他们必须:去银行,告诉柜员,我要取多少钱,由柜员把钱拿出来并记录好。
这个银行员工就是相当于一个API接口,这大大节省了顾客的时间,同时提高了银行的效率。同理,如果我们将操作的具体实施步骤抽象化,这将会大大降低开发人员的负担(去记忆所有的步骤花费的力气),从而大大提高了效率。
03
API应用范围广泛
从操作系统中简单的 fork到我们接触的百度地图API,天气API,这些API都大大简化了程序员的工作,不用重复造轮子。
我们使用API需要遵循API的协议,否则就会报错或得不到想要的效果,就好比你在银行的存款明明只是100块,但你偏要去取1000块,这样就是遵循协议约定了。
在API术语中,协议是规定了各部分之间如何进行交流的一系列规则的集合。各部分之间想要完成交互必须理解并且遵守同一个协议。
当我们为自己系统设计API的时候,一般来说我们是需要为API建立防火墙,在保护您的资源免受滥用的同时允许合法请求通过。
所以,接口与API以作用来说,就是定义一个规范,接口属于代码层次的定义,而API就是实现层次来定义,使工作更有效率,重复使用。
1.API 能确认所有的操作都是合法的。
2.在发生错误的时候 API 会根据错误报告机制发出指示,减轻开发人员的负担。
3.API中内置授权和访问控制,以确保只有授权人员才能访问特定数据。
4.我们可以实施速率限制来控制服务器资源的使用,以确保用户不会滥用服务。

END

所以,接口与API以作用来说,就是定义一个规范,接口属于代码层次的定义,而API就是实现层次来定义,使工作更有效率,重复使用。
微信公众号
微信号|小马技术圈
分享|交流

版权声明:凡非原创内容,皆秉承分享宗旨。图文整理自网络公开信息,版权属原持有人,亦非本公众号观点,如有侵权,请联系我们删除。