桥接设计模式的案例实现
案例实现根据前面的定义如果我们使用桥接模式我们可以将汽车的类型和颜色分别作为两个独立的维度来处理。我们可以创建两个抽象类 Car 和 Color并为每种汽车类型和颜色创建具体的子类。然后我们可以使用桥接模式将汽车类型和颜色抽象概念连接起来。如下图所示通过使用桥接模式我们可以轻松地添加新的汽车类型和颜色而不需要修改已有的代码。例如我们可以添加 truck 类来表示卡车并且可以在不修改现有代码的情况下将卡车与任何颜色进行组合。具体代码如下所示抽象卡车类型ublic abstract class AbstractCar { private AbstractColor color; public AbstractCar(AbstractColor color) { this.color color; } public abstract void drawCar(); public void drawColor() { color.drawColor(); } }抽象颜色public abstract class AbstractColor { public abstract void drawColor(); }具体公交车public class Bus extends AbstractCar{ public Bus(AbstractColor color) { super(color); } Override public void drawCar() { System.out.println(draw bus car); } }具体卡车public class Truck extends AbstractCar{ public Truck(AbstractColor color) { super(color); } Override public void drawCar() { System.out.println(draw truck car); } }蓝色public class Blue extends AbstractColor{ Override public void drawColor() { System.out.println(draw blue color); } }红色public class Red extends AbstractColor { Override public void drawColor() { System.out.println(draw red color); } }