小白都能懂的設計模式 java版 橋接模式具體實現(超詳細)

太陽石笑笑發表於2020-10-30

橋接模式:是將抽象部分與 實現部分分離,使他們可以隊裡變化,是一種物件結構型模式,又稱為柄體模式或者介面模式

實戰一下,將品牌和型別相互分離,當有需要的時候互相組合:

先寫一個品牌的介面

package bridge;

//品牌
public interface Brand {
    void info();
}

分別實現一個蘋果品牌還有一個聯想品牌:

package bridge;

//蘋果品牌
public class Apple implements Brand {
    @Override
    public void info() {
        System.out.print("蘋果");
    }
}
package bridge;

//聯想品牌
public class Lenovo implements Brand {
    @Override
    public void info() {
        System.out.print("聯想");
    }
}

然後型別寫兩個,分別是桌上型電腦和筆記本,然後寫兩個實現類:

package bridge;

//抽象的電腦類
public abstract class Computer {
    //和品牌進行組合,橋
    protected Brand brand;

    public Computer(Brand brand) {
        this.brand = brand;
    }

    public void info() {
        //自帶品牌
        brand.info();
    }
}

class DestTop extends Computer {

    public DestTop(Brand brand) {
        super(brand);
    }

    @Override
    public void info() {
        super.info();
        System.out.println("桌上型電腦");
    }
}

class LapTop extends Computer {

    public LapTop(Brand brand) {
        super(brand);
    }

    @Override
    public void info() {
        super.info();
        System.out.println("筆記本");
    }
}

最後測試一下,需要什麼,就組合什麼:

package bridge;

public class Test {
    public static void main(String[] args) {
        //蘋果筆記本
        Computer computer = new LapTop(new Apple());
        computer.info();

        //聯想桌上型電腦
        Computer computer1 = new DestTop(new Lenovo());
        computer1.info();
    }
}

在這裡插入圖片描述
好了,今天先到這裡~

相關文章