百度百科:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
我理解的API
生活中的一些东西,我们并不需要了解它具体实现的细节,但是可以凭借着一些中间的媒介就可以使用这个东西的一些功能。就好比一个饮水机,桶装水放到饮水器上,我们并不需要知道内部时如何净化水,如何把水加热到100度。最简单的净水器有个热水出水口,有一个冷水出水口,我们想喝热水,就用杯子接热水口出的水,想喝冷水就接冷水口,而这个冷水口和热水口就相当于我们使用的API,我们想使用饮水机热水的功能就使用红色的口,想喝冷水就使用蓝色的口,如果我们想喝温水,可能就要向厂家提供建议,厂家就可能根据你想要的再接出来一个水口,这个水口即连接着热水,又连接到冷水,具体怎么实现就不管了,我们只管用那个新设计的口就行了,也就是另一个API。
昨天学到的socket编程实现TCP连接,socket包实际上内部很复杂,里面有很多的操作,但是我们并不需要知道它如何实现,只需使用它给提供的各种socket函数,例如我想让服务器绑定一个端口,我们就用socket.bind()函数,具体如何绑定的,就是socket的问题了,与我们就无关了,我们只需放心的使用,调用这个接口就可以了。其他的包也是这样。