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