首页 > 代码库 > 6.适配器设计模式
6.适配器设计模式
public interface PinPlug{ void charge(); }
1.概述
适配器设计模式针对如下情况:-----客户需要用某个接口,但是能提供服务的接口没有实现那个接口。
- 客户端只能使用某种接口---客户端是台灯,接口是双孔插座
- 服务端----服务类是三孔插座
- 适配器类是服务类和客户端中间的一个桥接类---插线板
2.代码
适配器模式的分类:
- 类适配器----通过继承实现
- 对象适配器--通过组合实现
2.1类适配器
- 功能描述:为台灯充上电照明(台灯只能使用双孔插座)
-
public interface PinPlug{ void charge(); }
-
1.描述:与台灯配套的插座接口
-
public class ThreePinPlug{ public void specialcharge(){ System.out.println("三孔插座充电"); } }
- 2.描述:不能直接使用的三孔插座
-
public class PinPluginAdapter extends ThreePinPlug implements PinPlug{ public void charge(){ System.out.println("两孔桥接"); super.specialcharge(); } }
- 3.通过继承的方式创建一个把三孔转换为两空的类
-
public class Lamp { private PinPlug pinPlug; public Lamp(){ this.pinPlug=new PinPluginAdapter(); } public void Lignting() { if (pinPlug!=null) { pinPlug.charge(); System.out.println("照明"); }else{ System.out.println("没电"); } } public static void main(String[] args){ Lamp lamp=new Lamp(); lamp.Lignting(); } }
- 4.客户端:台灯
2.2对象适配器---组合的方式
-
public class PinPluginAdapter implements PinPlug{ ThreePinPlug threePinPlug=new ThreePinPlug(); public void charge(){ System.out.println("两孔桥接"); threePinPlug.specialcharge(); } }
3.分析
配器模式不适合在详细设计阶段使用它,它是一种补偿模式,专用来在系统后期扩展、修改时所用。
6.适配器设计模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。