设计模式-适配器模式
先举例子,安卓的耳机怎么查Ios的手机? 往上有转接头,也叫适配器。当一个类想和另一个无关的类一起工作就需要适配器
安卓的耳机
public interface Target {
void work();
}ios的插孔
public class Adapte {
public void adapte(){
System.out.println("听歌。");
}
}买个适配器
public class ClassAdaptee extends Adapte implements Target {
@Override
public void work() {
adapte();
}
}测试类
public class Client {
public static void main(String[] args) {
new ClassAdaptee().work();
}
}现在如果想使用安卓的耳机和ios的插孔一起工作,只需要找适配器类,这叫做类适配器,如果将上面代码改一下,可以改为对象适配器
适配器改为
public class ObjectAdaptee implements Target {
Adapte adapte;
@Override
public void work() {
adapte.adapte();
}
public ObjectAdaptee(Adapte adapte) {
this.adapte = adapte;
}
}测试类改为
public class Client2 {
public static void main(String[] args) {
ObjectAdaptee objectAdaptee = new ObjectAdaptee(new Adapte());
objectAdaptee.work();
}
}应用场景:当使用一些第三方的接口时,发现接口定义和自己要求的接口定义不同,这时候可以使用适配器。
相关推荐
TingBen 2020-06-03
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
Haopython 2019-01-15