适配器模式概念
适配器(变压器)模式:这种模式的核心是当你想实现一个接口但又不想实现所有接口方法,只想去实现一部分方法时,就用默认的适配器模式,他的方法是在接口和具体实现类中添加一个抽象类,而用抽象类去空实现目标接口的所有方法。而具体的实现类只需要覆盖其需要完成的方法即可。
适配器模式类关系图
适配器模式代码实现
编写Job接口
public interface Job {
public void speakEnglish();
public void speakChinese();
}
编写抽象类JobDefault实现接口Job,在实际工作中JobDefault中的方法也不一定都需要空实现,另外还可以实现多个接口达到适配器的作用
public abstract class JobDefault implements Job{
public void speakChinese() {
}
public void speakEnglish() {
}
//新增需求coding时,对于JobDefault的子类来说是无感知的
public void coding() {
}
}
编写类SpeakEnglishJob 只实现自己需要实现的接口 speakEnglish,如果SpeakEnglishJob 直接实现接口Job,那么需要同时实现接口中speakEnglish和speakChinese的两个方法(虽然方法speakChinese不需要实现),与此同时在类JobDefault中新增方法coding(其他类需要新增一个接口),对于类SpeakEnglishJob是无感知的!
public class SpeakEnglishJob extends JobDefault{
public void speakEnglish() {
System.out.println("只需要会说英语的工作");
}
}
如果想下载源码,可以下载
https://download.csdn.net/download/liwenxiang629/88628905
一句话总结适配器模式
适配器模式可以看作一种“补偿模式”,用来补救设计上的缺陷,解决接口不兼容。
我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!