一文读懂Java中的设计模式——适配器模式,对于兼容不同系统特别适用!
适配器模式概念
适配器(变压器)模式:这种模式的核心是当你想实现一个接口但又不想实现所有接口方法,只想去实现一部分方法时,就用默认的适配器模式,他的方法是在接口和具体实现类中添加一个抽象类,而用抽象类去空实现目标接口的所有方法。而具体的实现类只需要覆盖其需要完成的方法即可。
适配器模式类关系图
适配器模式代码实现
编写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
一句话总结适配器模式
适配器模式可以看作一种“补偿模式”,用来补救设计上的缺陷,解决接口不兼容。
我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!