前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java设计模式-适配器

java设计模式-适配器

作者头像
曼路
发布2018-10-18 15:31:09
2940
发布2018-10-18 15:31:09
举报
文章被收录于专栏:浪淘沙

《一》 适配器

适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 类适配器模式

public interface Target { // 这是源类Adaptee也有的方法

代码语言:javascript
复制
public void sampleOperation1(); 
 //这是源类Adapteee没有的方法
public void sampleOperation();}

public class Adaptee {

代码语言:javascript
复制
public void sampleOperation1(){}

}

public class Adapter extends Adaptee implements Target { /** * 由于源类Adaptee没有方法sampleOperation2() * 因此适配器补充上这个方法 */ @Override public void sampleOperation2() { //写相关的代码 }

}

对象适配器模式      它不是使用多继承或继承再实现的方式,而是使用直接关联,或者称为委托的方式,

这里写图片描述
这里写图片描述

public interface Target { /** * 这是源类Adaptee也有的方法 */ public void sampleOperation1(); /** * 这是源类Adapteee没有的方法 */ public void sampleOperation2(); }

public class Adaptee {

代码语言:javascript
复制
public void sampleOperation1(){}

} public class Adapter implements Target{ private Adaptee adaptee;

代码语言:javascript
复制
public Adapter(Adaptee adaptee){
    this.adaptee = adaptee;
}
/**
 * 源类Adaptee有方法sampleOperation1
 * 因此适配器类直接委派即可
 */
public void sampleOperation1(){
    this.adaptee.sampleOperation1();
}
/**
 * 源类Adaptee没有方法sampleOperation2
 * 因此由适配器类需要补充此方法
 */
public void sampleOperation2(){
    //写相关的代码
}

}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年04月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档