什么是API?
我的回答:API( 应用程序编程接口):一般来说,这是一套明确定义的各种软件组件之间的通信方法。
什么是API?我们不妨用一个小故事展示出来:
研发人员A开发了软件A,研发人员B正在研发软件B。
有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?
研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数;你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!
其中,API就是研发人员A说的那个函数。
进一步解释:
比如c语言的fopen()函数来打开一个文件,感觉非常简单。
但是操作到底层是非常复杂的,打开文件需要扫描硬盘,找到我文件位置,然后读取部分数据,并放进i/o缓存中,放进内存。
这些数据都是0,1序列,还要对照ASCII表或者unicode表翻译成字符,再在显示器上显示出来。如果这个过程让程序员来完成,简直就是个噩梦。不可能的事。
怎么办呢?
操作系统就想了一个很好的办法。它预先把复杂的操作写在一个函数里面,编译成一个组件(一般是动态链接库)程序员只需要简单的调用这些函数就可以用完成复杂的工作。
这些封装好的函数就叫做API。
更加通俗讲:别人写好的代码,或者编译好的程序,提供给你使用,就叫做api。
因为你使用了别人的代码( 或者程序)中的某个函数,类,对象,就叫做使用了某个api。