深刻、贴切的理解接口的好处,想忘都忘不了

本文通过一个生动的例子解释了接口的概念及其在编程中的应用。类是对象的抽象,而接口则是类的抽象,通过使用接口,可以在不修改原有代码的情况下轻松地替换不同实现。

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

刚刚在csdn论坛上看到了renya16发表的一个问题:”我想知道接口好处是什么?感觉它好像没什么用,谁帮我解释解释。。。。”,18楼牛人ycagml的回复受到了很多人的赞美,我看完牛人的回复后也感觉对接口的理解更上一层楼,所以跟大家分享一下。


类是对象的抽象,接口抽得更厉害,是类的抽象。不打机锋,直接看尘世的七情六欲。

比如,你要一个充气娃娃,这个充气娃娃有一个makeLove方法,你买这个娃娃就是冲着makeLove去的,你不关心它是哪国的娃娃,长得怎样。那么代码就体现为:

interface Chongqiwawa{
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感受,其他代码都不用改。
这就是接口!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值