類適配器模式
具體代碼實現
//要被適配者
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();
}