面向接口编程概念及其优点到处可见,但是真正能够非常形象的解释到底什么是面向接口编程的至今没有找到,无奈到这里求助,希望能够得到答案,可以用类比或者是具体的代码实现来解释,不胜感激。

解决方案 »

  1.   

    接口就是只对外提供功能的调用,隐藏内部的具体实现。 这样更安全。
    接口只提供方法的声明,没有具体实现。 
    在子类中实现接口方法的具体实现。
    不同的子类对用一个接口,可以有不同的实现。 
    这样就可以把不同的子类放到同一个接口的数组中,统一操作。
    就像 牛和羊都是动物一样。 牛、羊实现了接口动物的,呵呵。
    就好像银行提供给商家的付款接口。 只要拿来用就行,不用关心具体实现。java只允许一个类继承一个父类,但是可以实现多个接口。这样提高了代码的重用性。
    可能说的不是很明白。 看一些相关的书籍资料,多自己写点类,在实践中就能渐渐明白了。可以参考下面的例子
    http://blog.csdn.net/yu555666/article/details/1515674
      

  2.   

    我问的是面向接口编程,不是你说的java语言中的接口。
      

  3.   

    1楼说的是面向接口编程的一种实现方式
    关于接口的理解。
      接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。
      我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理想的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。
      接口的本身反映了系统设计人员对系统的抽象理解。
      接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class);
      第二类是对一个体某一方面的抽象,即形成一个抽象面(interface);
      一个体有可能有多个抽象面。
      抽象体与抽象面是有区别的。
    以上来自百度百科的面向接口编程