使用适配器模式的场景:
- 想使用现有的类,但是又不符合系统需求
- 需要创建一个可复用的类,使不相容的类相结合
- 需要改变多个子类接口,在作用相同但名称不同的类或方法之间适配
类适配器:
通过继承的方式使所有方法适配到一个类中:
class ClassAdaptee {
public void operation1() {
System.out.println("operation1");
}
}
class ClassAdapter extends ClassAdaptee implements ClassTarget {
@Override
public void operation2() {
System.out.println("operation2");
}
}
对象适配器:
通过在适配器类中调用另一个对象的方法实现适配:
class ObjAdapter implements ObjTarget{
private ObjAdaptee adaptee = new ObjAdaptee();
@Override
public void operation1() {
adaptee.operation1();
}
@Override
public void operation3() {
System.out.println("operation3");
}
}
class ObjAdaptee {
public void operation1() {
System.out.println("operation1");
}
}
JAVA代码:https://github.com/zhuaizhuaixi/design-pattern/tree/master/src/designpattern/structural/adapter