适配器模式——类对象结构型模式
2016-10-08 14:16
176 查看
一、意图
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
二、使用性
你想使用一个已经存在的类,而它的接口不符合你的需求。
你想创建一个可以复用的类,该类可以与其他不想关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
(仅使用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口。对象适配器可以适配它的父类接口。
三、结构
类适配器模式使用多重继承对一个接口与另一个接口进行匹配
![](https://img-blog.csdn.net/20161008110228737)
对象适配器依赖于对象组合
![](https://img-blog.csdn.net/20161008110421677)
四、代码
类结构型模式:
SixVolt.java
对象结构型模式
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
二、使用性
你想使用一个已经存在的类,而它的接口不符合你的需求。
你想创建一个可以复用的类,该类可以与其他不想关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
(仅使用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口。对象适配器可以适配它的父类接口。
三、结构
类适配器模式使用多重继承对一个接口与另一个接口进行匹配
对象适配器依赖于对象组合
四、代码
类结构型模式:
SixVolt.java
//Target 角色 public interface SixVolt { int getVolt6() ; }
//Adaptee 角色,需要转换的对象 public class Volt220 { public int getVolt220(){ return 220; } }
public class Adapter extends Volt220 implements SixVolt { @Override public int getVolt6() { return 6; } }
public class Client { public static void main(String[] args){ Adapter adapter = new Adapter(); System.out.println("输出电压: "+adapter.getVolt6()); } } 输出: 输出电压: 6
对象结构型模式
public interface SixVolt { int getVolt6(); }
public class Volt220 { public int getVolt220(){ return 220; } }
public class Adapter implements SixVolt{ Volt220 volt220 ; public Adapter( Volt220 adaptee){ volt220 = adaptee; } @Override public int getVolt6() { return 6; } public int getVolt220(){ return volt220.getVolt220(); } }
public class Client { public static void main(String[] args){ System.out.println("输出的电压: "+new Adapter(new Volt220()).getVolt6()); } }
相关文章推荐
- 结构型模式之对象适配器模式(算法适配)
- 类/对象结构型模式——适配器模式(Apapter)
- 适配器模式(类对象结构型模式)
- 7种结构型模式之:适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter)(对象结构型模式)
- 适配器模式(Adapter Pattern 类对象结构型模式)
- 对象结构型模式——适配器模式(adapter)
- 适配器模式(Adapter Pattern 类对象结构型模式)
- 适配器模式(Adapter)-对象结构型模式
- 白话设计模式--结构型模式之 适配器模式(Adapter)
- 设计模式笔记(7)---适配器模式(结构型)
- 白话设计模式--结构型模式--组合模式,桥接模式和适配器模式
- C#面向对象设计模式学习笔记(7) - Bridge 桥接模式(结构型模式)
- Decorator(装饰、油漆工)--对象结构型模式
- Adapter 模式(对象适配器模式)
- (结构型模式)Adapter——适配器模式
- 设计模式笔记(7)---适配器模式(结构型)
- 设计模式笔记(7)---适配器模式(结构型)
- 代理模式(Proxy)-对象结构型模式
- 设计模式笔记 6.Adapter 适配器模式(结构型模式)