1.桥接模式
public interface DrawApi {
void drawCycle();
}
class DrawRedCycle implements DrawApi{
@Override
public void drawCycle() {
System.out.println("----drawRedCycle----");
}
}
class DrawGreenCycle implements DrawApi{
@Override
public void drawCycle() {
System.out.println("----drawGreenCycle----");
}
}
abstract class Shape {
protected DrawApi drawApi;
Shape(DrawApi drawApi){
this.drawApi = drawApi;
}
public abstract void drawShape();
}
class Cycle extends Shape {
Cycle(DrawApi drawApi) {
super(drawApi);
}
@Override
public void drawShape() {
this.drawApi.drawCycle();
}
public static void main(String[] args) {
Shape redCycle = new Cycle(new DrawRedCycle());
Shape greenCycle = new Cycle(new DrawGreenCycle());
}
}
2. 说明
桥接模式主要将两个功能上有联系的两个类关联起来作用。接口与抽象类功能上扩展