关于适配器模式:设计模式61-初探适配器模式

设计模式文章汇合:http://aphysia.cn/categories/... 开局一张图,剩下全靠写... 介绍适配器模式(百度百科):在计算机编程中,适配器模式(有时候也称包装款式或者包装)将一个类的接口适配成用户所期待的。一个适配容许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类本人的接口包裹在一个已存在的类中。适配器模式的次要目标就是为了兼容性,把原来不匹配的两个类或者接口能够协同工作,它属于结构型模式,次要分为三种:类适配器,对象适配器,接口适配器。 适配器模式灵活性比拟好,能够进步复用性,然而如果滥用,零碎调用关系会比较复杂,每一次的适配,实质上都是一种斗争。 一直斗争,最初迎来的,必然是重构。 适配器模式类型类适配器形容:适配器的类(Adapter),通过继承原有类,同时实现目标接口,实现的性能是领有原有类的属性办法,同时能够调用指标接口。例子:原来一种充电器(指标类)能够给IPhone充电,另一种充电器(接口)能够给Android手机充电,咱们想实现一种适配器能够让IPhone充电器领有Android充电器的性能。 代码构造如下: AndroidCharger.class://给android充电的接口public interface AndroidCharger { public void androidout();}AppleCharger.class //给苹果充电的类public class AppleCharger { public void iphoenOut(){ System.out.println("我是充电器,我能够给苹果充电..."); }}ChagerAdapater.class //充电适配器public class ChagerAdapater extends AppleCharger implements AndroidCharger { @Override public void androidout() { iphoenOut(); System.out.println("适配器开始工作----"); System.out.print("我领有了给Android充电的能力"); }}Test.class public class Test { public static void main(String[]args){ ChagerAdapater chagerAdapater = new ChagerAdapater(); chagerAdapater.androidout(); }}运行后果如下: 集体了解:这里之所以一个继承一个接口,是因为java只能单继承,要去适配多个类,只能一个继承,一个用接口实现,有肯定局限性。重写它的办法,这也比拟灵便,能够对接口办法进行批改。2.对象适配器集体了解:下面所说的类适配器是通过继承与实现接口的形式实现(所继承的父类以及接口都是一个class),对象适配器就是依据“合成复用准则”,不应用继承关系,而是应用了关联关系,间接把另一个类的对象当成成员对象,也就是持有之前须要继承的类的实例。代码构造没有扭转,只是从新创立了一个包: 更改后的 ChagerAdapater.class //充电适配器public class ChagerAdapater implements AndroidCharger { //持有苹果充电器的实例 private AppleCharger appleCharger; //结构器 public ChagerAdapater(AppleCharger appleCharger){ this.appleCharger = appleCharger; } @Override public void androidout() { System.out.println("适配器开始工作----"); System.out.print("我领有了给Android充电的能力"); }}更改后的 Test.class ...

December 14, 2021 · 2 min · jiezi