接口和实现类

本文通过生动的比喻解释了在软件开发中为何要使用接口而不是直接使用实现类,阐述了接口如何提供灵活性并支持多种实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为啥要用接口,直接上实现类不就行了么?

这是一个说出来就会被喷的话题。类似于你想吃东西,直接去舔就可以了,为啥用有手拿着。你不用手拿个也能吃进嘴里。

再举个合适点的例子,你吃东西可以用手拿,但吃火锅的时候,吃烤肉的时候,也可以用手拿,但用手拿筷子,再用筷子拿肉相对来说好些。所以,接口的出现就是方便这些二级行为。

来个比较绕的:

//吃水果
function a(){
    if(flag){
        c();//用手拿
    }else{
	d();//用筷子拿
    }
}
//吃肉
function b(){
    if(!flag){
	d();//用筷子拿
}else{
<span style="white-space:pre">	</span>c(); //用手拿
    }
}

水果行为和吃肉行为都继承与吃行为,行为即接口。要想把吃这种行为实现可以用手拿着吃的方法,可以用用筷子吃的方法,方法即实现类。这是一个接口对应多个实现类的例子。

用筷子可以吃饭,还可以捡兔屎。用手可以吃饭,还可以擦屁股。

好继续上面的话题,其实代码也是一种语言,是可以翻译的,

用手拿吃水果:a.c();

用筷子拿吃肉:b.d();

接口的作用就是方便一对多,多对一,多对多的简化,减少代码编辑量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值