对于接口的作用,在一些小的项目上,很难看出其发挥的优势。这就使一些经常的做小项目的开发人员,做时间久了就感觉不到它有什么好的,有时候写起来还麻烦,干脆不用了。其实,在一些大项目上,接口的作用是发挥地相当的明显的。 比如:如果你开发业务逻辑代码,当你好不容易的实现了它全部的功能,突然用户需求要改,你在修改你代码的同时,调用你代码的其它人也会改,如果代码关联性强的话,会有很多人都要改动代码,这样一来二去,程序会变得相当的不稳定,而且可能还会出现更多的新Bug,所有人都可能会陷入混乱。 但如果使用接口的话,在你使用它之前,就要想好它要实现的全部功能(接口实际上就是将功能的封装)。确定下这个接口后,如果用户需求变了,你只要重新写它的实现类,而其它人只会调用你的接口,他不管你是怎么实现的,它只需要接口提供的功能。这样,很可能只需要把你的代码修改就可以了,其他人什么都不用做。同时:这样做的话,使得开发人员能够分工明确,只要确定下来接口了,就可以同时进行开发,提高开发效率。另外,使用接口还有使用方便,可读性强,结构清晰等优点。
实现类a1 可定义移动方法为步行实现类a2 可定义移动方法为跑步实现类a3 可定义移动方法为两轮实现类a4 可定义移动方法为三轮实现类a5 可定义移动方法为四轮突然有天你不想让实现类再必须能移动了 活着就行了 直接删了A中的移动方法 就搞定了总之你要是想定义一组相关类 把他们共同的特性放到接口里吧 方便管理 提高辨识度
public void makeLove(String name);
}class Person{
Chongqiwawa wawa;
public void setWawa(Chongqiwawa wawa){
this.wawa = wawa;
}
private String name;
public void makeLove(){
//调用wawa的makeLove方法
wawa.makeLove(name);
}
现在,你想和wawa那个,就可以这样用了:
main(){
Person you = new Person();
you.makeLove();
}报错了吧?你怎么能跟虚的wawa那个呢?所以必须要买一个wawa.好吧,去逛成人店选购一个wawa.这里有日本娃娃,美国娃娃,先看看美国娃娃功能怎么样。class USAWawa implements Chongqiwawa{
public void makeLove(String name){
System.output.println(name + " come on! a,a, a...");
}
}
好吧,你已经流口水了,一口价成交,然后带回家,迫不及待实践一下,代码体现为:
main(){
Person you = new Person();
Chongqiwawa wawa = new USAWawa();
you.setWawa(wawa);
you.makeLove();
}这时候你已经可以和娃娃水乳交融了。不久,你发觉厌倦了美国娃娃,想试下日本娃娃,再次来到成人超市,日本娃娃makeLove功能实现如下:
class JapanWawa implements Chongqiwawa{
public void makeLove(String name){
System.output.println(name + " yemede! a,a, a...ganbade...");
}
}
OK,你直接丢下一堆钞票一句不用找就抱回家了,马上进入主题: main(){
Person you = new Person();
//获得实际的wawa
Chongqiwawa wawa = new JapanWawa();
you.setWawa(wawa);
you.makeLove();
}
看见了吗,只需改动一行代码,你就实现了娃娃的切换,得到不同的makeLove感受,其他代码都不用改。
这就是接口!
接口的出现很好的弥补了这一点.或许也就是接口的好处所在!
此外,接口就是某个事物对外提供的一些功能申明.使用者只需要使用这些功能就可以了,而不必去关心实现的细节!这也是抽象的一种形式!
就好像电脑上的USB接口,可以插鼠标,也可以插硬盘等等。