適配器模式淺析

類適配器模式

這裏寫圖片描述

具體代碼實現

//要被適配者
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();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章