Java设计模式之适配器模式
来源:互联网 发布:搜狐网络大电影合作 编辑:程序博客网 时间:2024/06/06 17:10
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6479118.html
适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。
适配器模式有两种:类适配器和对象适配器
二者在实现上有些许区别,作用一样。
1、类适配器模式:
原理:通过继承来实现适配器功能。
当我们要访问的接口A中没有我们想要的方法 ,却在另一个接口B中发现了合适的方法,我们又不能改变访问接口A,在这种情况下,我们可以定义一个适配器p来进行中转,这个适配器p要实现我们访问的接口A,这样我们就能继续访问当前接口A中的方法(虽然它目前不是我们的菜),然后再继承接口B的实现类BB,这样我们可以在适配器P中访问接口B的方法了,这时我们在适配器P中的接口A方法中直接引用BB中的合适方法,这样就完成了一个简单的类适配器。
详见下方实例:我们以ps2与usb的转接为例
ps2接口:Ps2
1 public interface Ps2 {2 void isPs2();3 }
USB接口:Usb
1 public interface Usb {2 void isUsb();3 }
USB接口实现类:Usber
1 public class Usber implements Usb {2 3 @Override4 public void isUsb() {5 System.out.println("USB口");6 }7 8 }
适配器:Adapter
1 public class Adapter extends Usber implements Ps2 {2 3 @Override4 public void isPs2() {5 isUsb();6 }7 8 }
测试方法:Clienter
1 public class Clienter {2 3 public static void main(String[] args) {4 Ps2 p = new Adapter();5 p.isPs2();6 }7 8 }
显示结果:
USB口
实例讲解:
我手中有个ps2插头的设备,但是主机上只有usb插头的插口,怎么办呢?弄个转换器,将ps2插头转换成为USB插头就可以使用了。
接口Ps2:描述ps2接口格式
接口Usb:描述USB接口格式
类Usber:是接口Usb的实现类,是具体的USB接口格式
Adapter:用于将ps2接口格式转换成为USB接口格式
2、对象适配器模式
原理:通过组合来实现适配器功能。
当我们要访问的接口A中没有我们想要的方法 ,却在另一个接口B中发现了合适的方法,我们又不能改变访问接口A,在这种情况下,我们可以定义一个适配器p来进行中转,这个适配器p要实现我们访问的接口A,这样我们就能继续访问当前接口A中的方法(虽然它目前不是我们的菜),然后在适配器P中定义私有变量C(对象)(B接口指向变量名),再定义一个带参数的构造器用来为对象C赋值,再在A接口的方法实现中使用对象C调用其来源于B接口的方法。
详见下方实例:我们仍然以ps2与usb的转接为例
ps2接口:Ps2
1 public interface Ps2 {2 void isPs2();3 }
USB接口:Usb
1 public interface Usb {2 void isUsb();3 }
USB接口实现类:Usber
1 public class Usber implements Usb {2 3 @Override4 public void isUsb() {5 System.out.println("USB口");6 }7 8 }
适配器:Adapter
1 public class Adapter implements Ps2 { 2 3 private Usb usb; 4 public Adapter(Usb usb){ 5 this.usb = usb; 6 } 7 @Override 8 public void isPs2() { 9 usb.isUsb();10 }11 12 }
测试类:Clienter
1 public class Clienter {2 3 public static void main(String[] args) {4 Ps2 p = new Adapter(new Usber());5 p.isPs2();6 }7 8 }
结果显示:
USB口
实例讲解:
我手中有个ps2插头的设备,但是主机上只有usb插头的插口,怎么办呢?弄个转换器,将ps2插头转换成为USB插头就可以使用了。
接口Ps2:描述ps2接口格式
接口Usb:描述USB接口格式
类Usber:是接口Usb的实现类,是具体的USB接口格式
Adapter:用于将ps2接口格式转换成为USB接口格式
- java设计模式之适配器设计模式
- java设计模式之适配器设计模式
- JAVA设计模式之适配器
- 深入浅出Java设计模式之适配器模式
- 深入浅出Java设计模式之适配器模式
- Java设计模式之适配器模式
- 深入浅出Java设计模式之适配器模式
- Java设计模式之适配器模式
- java 设计模式之七-适配器模式
- java设计模式之适配器模式
- Java设计模式之适配器模式
- java设计模式之适配器模式
- Java:设计模式之适配器模式Adapter
- java设计模式之适配器模式
- java设计模式之适配器模式
- Java设计模式之适配器模式
- Java设计模式之适配器模式
- java与设计模式之适配器模式
- 支持向量机通俗导论(理解SVM的三层境界)(2)
- scrapy-1
- Ubuntu 16.04 desktop 配置VPN服务pptpd
- ROS 右手坐标系图
- 动归之状态压缩
- Java设计模式之适配器模式
- react 学习参考文章
- linux 下查看共享内存的使用以及删除共享内存(转)
- oracle视图详解
- 不错的sql
- Retrofit2.0的使用详解
- opstack-neutron 安全组 博主其他文章也不错
- QinScan
- CI(1)Windows下CI的配置部署