1 桥接模式
2 实现类
interface DrawApi{
public void drawCircle();
}
class RedCircle implements DrawApi{
@Override
public void drawCircle() {
System.out.println("draw redCircle");
}
}
class GreenCircle implements DrawApi{
@Override
public void drawCircle() {
System.out.println("draw greenCircle");
}
}
abstract class Shape{
protected DrawApi drawApi;
public Shape(DrawApi drawApi){
this.drawApi = drawApi;
}
public abstract void draw();
}
class Circle extends Shape{
public Circle(DrawApi drawApi){
super(drawApi);
}
@Override
public void draw() {
drawApi.drawCircle();
}
}
public class Test{
public static void main(String[] args){
Shape shape = new Circle(new RedCircle());
shape.draw();
shape = new Circle(new GreenCircle());
shape.draw();
}
}