为啥要用接口,直接上实现类不就行了么?
这是一个说出来就会被喷的话题。类似于你想吃东西,直接去舔就可以了,为啥用有手拿着。你不用手拿个也能吃进嘴里。
再举个合适点的例子,你吃东西可以用手拿,但吃火锅的时候,吃烤肉的时候,也可以用手拿,但用手拿筷子,再用筷子拿肉相对来说好些。所以,接口的出现就是方便这些二级行为。
来个比较绕的:
//吃水果
function a(){
if(flag){
c();//用手拿
}else{
d();//用筷子拿
}
}
//吃肉
function b(){
if(!flag){
d();//用筷子拿
}else{
<span style="white-space:pre"> </span>c(); //用手拿
}
}
吃水果行为和吃肉行为都继承与吃行为,行为即接口。要想把吃这种行为实现可以用手拿着吃的方法,可以用用筷子吃的方法,方法即实现类。这是一个接口对应多个实现类的例子。
用筷子可以吃饭,还可以捡兔屎。用手可以吃饭,还可以擦屁股。
好继续上面的话题,其实代码也是一种语言,是可以翻译的,
用手拿吃水果:a.c();
用筷子拿吃肉:b.d();
接口的作用就是方便一对多,多对一,多对多的简化,减少代码编辑量。