什么是接口?

来源:互联网 发布:复杂网络的统计特性 编辑:程序博客网 时间:2024/05/06 12:44

一、什么是接口

 

    接口简单来说,就是类与类之间的协议。一个接口表示所有实现了该特定接口的类看起来都应该是这个样子。

 

二、接口的用途

 

1.完全解耦

 

    如果你写的一个方法,操纵的是类而不是接口,那么在这个方法中,你就只能操作该特定类或其子类的实例。如下面的代码所示。如果Processor是一个特定的类而不是接口的话,那Apply类的方法就只能操作该类的实例或者子类的实例。

 

 

 

 

    但是,如果我有这样一个类,它看起来与Processor很相似,如下面的Filter类。

 

    Filter类与他的子类能否用于上面的Apply方法呢?

    答案是否定的。因为Apply类的方法并不知道Filter类与Processor类是什么关系,也就是说Apply类与Processor类耦合过于紧密了。

    但是假设将Processor类抽象为一个接口,如下所示。

   

    而Apply类的方法只是接受实现这个接口的类,如下所示。

   

    将Filter改为实现此接口的类,那么问题也就迎刃而解了,这就是所谓的解耦合。