适配器模式

介绍

在软件设计中,为了解决接口不一致的问题,两个软件模块之间往往也需要通过一个适配器类Adapter进行是适配。这样的模式叫做适配器设计模式。
适配器模式分为两种,一种是类适配器,一种是对象适配器模式。
(1)类适配器

(2)对象适配器

示例

现在有一个类student,现在要在要添加一个功能read();
类适配器

class student
{public String getAge(){...}public String getName(){...}public void run(){...}
}public interface student_add
{public abstract String getAge();public abstract String getName();public abstract void run();public abstract void read();
}适配器
class studentAdapter extends student implements student_add
{public void read(){....}
}

对象适配器

class student
{public String getAge(){...}public String getName(){...}public void run(){...}
}public interface student_add
{public abstract String getAge();public abstract String getName();public abstract void run();public abstract void read();
}适配器
class studentAdapter implements student_add
{student s;public void read(){....}public String getAge(){s.getAge();}public String getName(){s.getName();}public void run(){s.run();}
}

类适配器与对象适配器的区别是:

类适配器模式对被适配对象采用了继承,而对象适配器对被适配对象采用的则是调用。

设计模式-结构型软件设计模式(二)相关推荐

  1. 设计模式-结构型模式篇

    设计模式 目录: 一.代理模式 二.适配器模式 三.装饰者模式 四.桥接模式 五.外观模式 六.组合模式 七.享元模式 注:学习视频:黑马程序员Java设计模式 结构型模式 结构性模式描述如何将类或对 ...

  2. 设计模式-结构型模式-装饰模式

    设计模式-结构型模式-装饰模式 栗子 以成绩单需要家长签字为要求. 成绩单类图 // 抽象成绩单 public abstract class SchoolReport{// 成绩单你的成绩情况publ ...

  3. 23种设计模式——结构型设计模式(7种)

    目录 ☞ 23 种设计模式--创建型设计模式(5种) ☞ 23 种设计模式--结构型设计模式(7种) ☞ 23 种设计模式--行为型设计模式(11种) 3. 结构型设计模式 结构型模式描述如何将类或对 ...

  4. 设计模式(结构型)之享元模式(Flyweight Pattern)

    PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanbob ...

  5. 4.C++设计模式-结构型模型

    4.C++设计模式-结构型模型 让类和类进行组合,获得更大的结构. 4.1 代理模式 4.1.1 代理模式的理论 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不 ...

  6. 设计模式(结构型)之代理模式(Proxy Pattern)

    PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanbob ...

  7. 设计模式 - 结构型

    结构型设计模式 结构型模式(Structural Pattern)关注类和对象的组合.其描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的.功能更为强大的结构. ...

  8. 结构型模式/设计模式

    结构型模式 涉及如何组合类和对象来获得更大的结构. 结构型类模式: 采用继承机制来组合接口或实现,通常是静态的,类继承方式. 结构型对象模式: 描述如何对对象进行组合,从而获得新功能的一些方法. 相关 ...

  9. 设计模式 结构型模式 外观模式(Facade Pattern)

    在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化. 这时为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 &quo ...

  10. 设计模式--结构型模式

    总体来说设计模式分为三大类:创建型模式.结构型模式和行为型模式. 博主的上一篇文章已经提到过创建型模式,此外该文章还有设计模式概况和设计模式的六大原则.设计模式的六大原则是设计模式的核心思想,详情请看 ...

最新文章

  1. xtrabackup全量备份+binlog基于时间点恢复
  2. 【OpenSSL】OpenSSL之MD5
  3. RDS使用只读副本和多AZ的区别在于数据复制的机制
  4. md5加密 java原理_md5 32位 加密原理 Java实现md5加密
  5. Spring Batch中的块处理
  6. js字符串转数字(小数),数字转字符串
  7. Linux内核调试debugfs
  8. DBA日常管理——数据归档(Archiving-Data)
  9. linux UART(RS232/485)驱动实验
  10. android 选座系统,android 影院选座
  11. 91 全能地图下载器和 bigemap地图下载器哪个好用?
  12. BT5 WIFI破解
  13. 全市场等权中位数_市场指数估值周报20200406
  14. 风华散尽,葬送何言?伤感日志分享
  15. VSCode 浏览器打开插件
  16. gin embed打包静态资源文件
  17. Python迎来30岁生日,先驱Pablo Galindo:没想到Python这么流行
  18. 数据预处理-缺失值处理
  19. Swin-Transformer-Object-Detection V2.11.0 训练visdrone数据(二)
  20. 视频剪辑,人脸贴纸美颜特效数字图像处理背后的技术-Qt版本

热门文章

  1. 2000W条数据的Oralce数据库SQL查询优化经验 - 机会总会留给有准备的人
  2. 使用 Golang 实现简易的令牌桶算法
  3. CSDN-markdown编辑器使用
  4. 主机炸鸡?Z世代主机市场终究是肯德基的?
  5. rose ha 的使用
  6. oracle没有卸载,oracle卸载没有正确卸载怎么办??
  7. 凤凰os 停在android,电脑的安卓系统,凤凰OS:有亮点但还很粗糙的系统
  8. codeBlock 之无效的编译器
  9. 统计推断——假设检验——t 检验(总体的标准差未知)
  10. ORL人脸识别tensorflow实现