程序员地瓜哥的小屋

Java中的桥接模式

2021-12-31  本文已影响0人  CodingDGSun

桥接模式简介

品牌接口Brand
//产品品牌
public interface Brand {
    void name();
}
实现类品牌A和品牌B
//A品牌
public class ABrand implements Brand {
    @Override
    public void name() {
        System.out.print("A品牌");
    }
}

//B品牌
public class BBrand implements Brand {
    @Override
    public void name() {
        System.out.print("B品牌");
    }
}
抽象产品类Product
//抽象产品类
public abstract class Product {
    //带品牌,组合方式
    private Brand brand;

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

    public void name() {
        brand.name();//品牌名称
    }
}
子类产品C和D
//C产品
public class CProduct extends Product {
    public CProduct(Brand brand) {
        super(brand);
    }

    @Override
    public void name() {
        super.name();
        System.out.println("C产品");
    }
}

//D产品
public class DProduct extends Product {
    public DProduct(Brand brand) {
        super(brand);
    }

    @Override
    public void name() {
        super.name();
        System.out.println("D产品");
    }
}
测试类
public class Test {
    public static void main(String[] args) {
        Brand brandA = new ABrand();//A品牌
        Brand brandB = new BBrand();//B品牌
        CProduct cProduct = new CProduct(brandA);//C产品,带A品牌,即A品牌的C产品
        DProduct dProduct = new DProduct(brandB);//D产品,带B品牌,即B品牌的D产品
        cProduct.name();
        dProduct.name();
        /**
         * 输出结果:
         * A品牌C产品
         * B品牌D产品
         */
    }
}
测试结果
A品牌C产品
B品牌D产品
上一篇下一篇

猜你喜欢

热点阅读