Java的适配器模式
所谓适配器模式,其实很简单,就是将一个类的接口转换成客户端所期待的另一个接口,使得原本不兼容的两个类可以一起工作。
假设我们有一个Type-c接口,但是要使用的接口确实usb的接口,这时候要怎么办呢?解决方法就是用一个适配器将Type-c类转换成usb类,这样我们就能使用这个Type-c接口了。
实现适配器模式有两种方法,分别是组合方式和继承方式。
1.组合方式
组合方式就是讲被适配的对象组合到适配器类中,在这里被适配对象就是就是Type-c接口。
2.继承方式
继承方式就是通过多重继承不兼容的接口以匹配目标接口。
实现代码如下:
Usb.java package com.muggle.Ada; public class Usb { public void useUsb() { System.out.println("使用了usb接口"); } } Typec.java package com.muggle.Ada; public interface Tyepec { public void useTypec() ; } Adapter.java package com.muggle.Ada; //使用组合方式实现适配器模式 public class Adapter implements Tyepec { private Usb plug; public Adapter(Usb plug) { // TODO Auto-generated constructor stub this.plug=plug; } @Override public void useTypec() { // TODO Auto-generated method stub plug.useUsb(); System.out.println("完成转化使用了Type-c接口"); } } newAdapter.java package com.muggle.Ada; public class newAdapter extends Usb implements Tyepec { //使用继承方式实现适配器模式 @Override public void useTypec() { // TODO Auto-generated method stub this.useUsb(); System.out.println("完成转化使用了Type-c接口"); } } TestDrive.java package com.muggle.Ada; public class TestDrive { public static void main(String[] args) { Tyepec tyepec=new Adapter(new Usb()); tyepec.useTypec(); Tyepec newtypec=new newAdapter(); newtypec.useTypec(); } }
运行结果如下:
使用了usb接口
完成转化使用了Type-c接口
使用了usb接口
完成转化使用了Type-c接口
这样我们就使用了适配器模式的两种方法对usb类进行了转换。
相关推荐
TingBen 2020-06-03
chenjinlong 2020-04-27
stefan0 2019-10-23
Macuroon 2018-09-12
lweiyue 2016-12-24
Ingram 2019-06-29
itjavashuai 2019-06-27
liuyaping 2011-04-24
Clevebaby 2019-06-26
stdjkdblom 2019-06-26
zhangbeizhen 2019-06-13
Iloveblog 2018-11-01
trandy 2013-09-15
码墨 2019-03-12
ThinkingLink 2017-01-13
dushu0 2017-03-13
东成熙就 2019-04-25
Triagen 2016-03-02