摘要:简介适配器模式是结构型模式的一种,它把一个类的接口转换为客户期望的另一个接口。适配器让接口本不兼容的两个类可以合作无间。适配器模式分为类适配器和对象适配器,类适配器使用多继承,而对象适配器使用组合来实现,这里只介绍更常用的对象适配器。
1. 简介
适配器模式是结构型模式的一种,它把一个类的接口转换为客户期望的另一个接口。适配器让接口本不兼容的两个类可以合作无间。适配器模式分为类适配器和对象适配器,类适配器使用多继承,而对象适配器使用组合来实现,这里只介绍更常用的对象适配器。
2. UML类图Target是目标接口,Adaptee是被适配者,Adapter是适配者,适配者实现了目标接口,并拥有被适配者的引用。
3. 实例Target:
public interface TypeC { void typeCPort(); }
Adaptee:
public class Headset { public void listen() { System.out.println("3.5毫米耳机听音乐"); } }
Adapter:
public class PortAdapter implements TypeC { private Headset headset; public PortAdapter(Headset headset) { this.headset = headset; } public void typeCPort() { headset.listen(); } }
Client:
public class IPhone { public void listen() { Headset headset = new Headset(); TypeC typec = new PortAdapter(headset); typec.typeCPort(); } }
测试类
public class Test { public static void main(String[] args) { IPhone iphone = new IPhone(); iphone.listen(); } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76646.html
摘要:根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在对象适配器模式中,适配器与适配者之间是关联聚合关系在类适配器模式中,适配器与适配者之间是继承或实现关系。 ...
摘要:原文地址设计模式十适配器模式在设计模式七设计模式分类中我们提到过结构设计模式,结构设计模式专注于设计对象和实例的构建组合过程。适配器模式在不修改现有代码的基础上,保留了架构。 原文地址:PHP设计模式(十):适配器模式 Introduction 在PHP设计模式(七):设计模式分类中我们提到过结构设计模式(Structural patterns),结构设计模式专注于设计对象(Objec...
摘要:本文参考于设计模式课程设计模式之适配器模式设计模式是一套被反复使用的多数人知晓的经过分类编目的代码设计经验的总结。第一个设计模式是适配器模式。总的来说适配器就是的模式,与修饰模式直接无感使用不同,适配器模式使用对象变为。 本文参考于:设计模式课程设计模式之适配器模式 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被...
摘要:与其它模式的异同适配器模式不会改变原有接口,这一点与装饰者模式和代理模式类似。代理模式适配器模式与代理模式最相似,同样都是创建一个新对象包装一次,实现对本体的调用。外观模式外观模式与适配器模式最大的区别,是定义了一个新的接口。 showImg(https://segmentfault.com/img/bVbul8d?w=800&h=600); 适配器模式:将一个类(对象)的接口(方法或...
摘要:适配器模式桥接模式过滤器模式组合模式装饰器模式外观模式享元模式代理模式行为型模式这些设计模式特别关注对象之间的通信。对象适配器另外一种适配器模式是对象适配器,它不是使用多继承或继承再实现的方式,而是使用直接关联,或者称为委托的方式。 设计模式汇总 创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需...
阅读 2400·2021-09-08 09:45
阅读 3340·2021-09-08 09:45
阅读 3097·2019-08-30 15:54
阅读 3348·2019-08-26 13:54
阅读 1405·2019-08-26 13:26
阅读 1384·2019-08-26 13:23
阅读 909·2019-08-23 17:57
阅读 2178·2019-08-23 17:14