适配器模式

适配器模式

适配器模式主要是用来将某个类的接口转换成客户端期望的另一个接口的形式.目的用于消除接口的不兼容问题,主要分为三类,接口的适配器模式,类的适配器模式,对象的适配器模式.

类的适配器模式

源类 :

1
2
3
4
5
public class Source {
public void method1(){
System.out.println("source的方法1");
}
}

目标类:

1
2
3
4
public interface Targetable {
public void method1();//与source一样
public void method2();
}

适配器: 继承自源类,并实现目标接口,就完成了适配功能.

1
2
3
4
5
6
public class Adapter extends Source implements Targetable {
@Override
public void method2() {
System.out.printf("targetable的method2");
}
}

这样实现了target的类就有了source的类的功能.

对象的适配器模式;

与类的适配器模式差不多,只是在将继承原有类变成了持有原有类.也可以实现相同的功能. 前两个类就不在写了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Adapter implements Targetable {
private Source source ;
public Adapter(Source source){
this.source = source;
}
@Override
public void method2() {
System.out.printf("targetable的method2");
}

@Override
public void method1() {
source.method1();
}
}

接口的适配器模式

对于接口的适配器模式主要有一种情况就是在接口的方法有很多,但是我们可能只需要几个方法,这个时候就需要一个接口的适配器出现了.写一个接口的适配器抽象类,实现接口的所有方法,当然方法也是空方法,这时候具体类就可以继承此抽象类.实现自己想要实现的方法.