/**
* Abstraction(抽象类):桥接模式目的是为了建立抽象类的对象,与另一接口建立关联关系
*/
public abstract class Car {
/**
* 关联关系,使用接口的方式实现关联关系
* 1.关联关系(弱关联,使用接口的方式降低耦合性),新增颜色只需实现接口
*/
private Color color;
public void setColor(Color color) {
this.color = color;
}
public Color getColor() {
return color;
}
public abstract void makeCar();
}
Implmentor(实现类接口)
/**
* Implmentor(实现类接口):服务于抽象类,为抽象类提供必要的属性或维度
*/
public interface Color {
void addColor(String carType);
}
ConcreteImplmentor(具体实现类)
public class Black implements Color {
@Override
public void addColor(String carType) {
System.out.println("黑色"+carType);
}
}
RefinedAbstraction(扩充抽象类)
/**
* RefinedAbstraction(扩充抽象类):抽象类的具体实现(这里体现面向接口编程)
*/
public class CarImpl extends Car {
@Override
public void makeCar() {
getColor().addColor("宝马");
}
}