类适配器模式
具体代码实现
//要被适配者
public class Adaptee {
//已有方法 比如240的电压
public void operation3(){
System.out.println("我是operation3");
}
}
//目标功能
public interface Target {
//目标方法 比如我需要5v的电压
public abstract void operation1();
}
//处理适配者将其改装成我们需要的样子
public class Adapter extends Adaptee implements Target {
@Override
public void operation1() {
//通过对operation2的处理将其满足operate1的需求
System.out.println(" ... 处理operate2 ...");
System.out.println(" operation01 ");
}
}
//具体使用案例
public static void main(String[] args){
// 这是类适配器模式,缺点是我们的Adaptee类的方法也会暴露出来
Adapter adapter = new Adapter();
adapter.operation1();
}
对象适配器
具体代码实现
//要被适配者
public class Adaptee {
//已有方法 比如240的电压
public void operation3(){
System.out.println("我是operation3");
}
}
// 目标功能
public interface Target {
//目标方法 比如我需要5v的电压
public abstract void operation1();
}
//处理适配者将其改装成我们需要的样子
public class Adapter implements Target {
private Adaptee mAdaptee;
public Adapter(Adaptee adaptee){
this.mAdaptee = adaptee;
}
@Override
public void operation1() {
//Adapter 类持有Adaptee的对象引用
System.out.println(" ... 处理operate2 ...");
mAdaptee.operation3();
}
}
//具体使用案例
public static void main(String[] args){
// 这是类适配器模式,缺点是我们的Adaptee类的方法也会暴露出来
Adapter adapter = new Adapter(new Adaptee());
adapter.operation1();
}