有谁帮我阐述一下:面向接口编程的思想,及其优点?

2024-11-25 16:02:52
推荐回答(3个)
回答1:

首先你要知道软件工程的概念是什么!简单的说软件工程就是让程序模块化,把特定的代码逻辑独立封装,只传入参数和返回参数,外部集中调用。这也就是C、c++、java、c#中的方法、函数、类库头文件等体现。

而接口也是基于这个目的产生的。首先说说为什么要用到接口,我是学java的,所以以java举例,前面说了把代码逻辑独立的封装确实能增加代码的重用性,具有更好的性能。

但是同样的问题也产生了,如果系统结构很复杂,多个开发人员就不能做到有效的协作了。就像用零件拼装一辆汽车一样,很多工人一起工作,他们怎么知道哪2个零件之间结合在一起,怎么耦合。这和软件工程很类似,多个开发人员一起开发不同的模块,他们同样也会遇到程序结构耦合的问题,这都是在开发时很令人头疼的问题。

接口就是为解决这个问题诞生的,他把方法和类封装的更彻底,只显示入口参数和返回参数,而具体的实现类,和方法实现都可以完全隐藏起来,这样做就可以制定一个统一的标准,即使因为开发人员人多脑杂,模块间的代码风格和思路不同,也完全不影响整个系统的架构,这样使得系统的复杂性得到有效控制,降低开发的难度和成本。举个生动的例子就是电脑主板的生产商他无法知道他生产的主板上将要用的CPU是什么型号的,用的内存是什么规格的。但是只要制定统一的行业标准,他就可以预留指定的接口,无论你CPU是基于什么工作原理,也无论你内存多大,只要符合此接口的标准,各个原件就能有效协作组成一台电脑。

回答2:

接口的好处就是可以不用提供实现细节,而只是提供该接口应该具备怎样的行为,或者说具有什么方法.

比如sun提供的JDBC接口,等于是提供了一个标准.各数据库厂商分别提供自己的JDBC实现.而我们在使用上也只需要关心接口提供的方法.

另外接口的好处体现在设计模式上.可以结合设计模式来看.

回答3:

问题补充:哥哥或者姐姐们,那请您们谁给我写一下程序啊,汗~
我很菜的.就是后一个数等于前面两个数的和,最初两个数为1,很简单啊
#include