几种常用的设计模式--装饰器模式

120 阅读1分钟

特点

  • 原接口Shape不动,增加新的装饰类ShapeDecorator

  • 原方法名不变,只是增加或修饰此方法体

  • ColorShapeDecorator装饰类持有原对象,只是增加了修饰

    public class ColorShapeDecorator extends ShapeDecorator {

    public ColorShapeDecorator(Shape shape) {
        super(shape);
    }
    
    @Override
    public void draw() {
        setColor();
        shape.draw();
    }
    
    private void setColor() {
       //设置画图颜色
    }
    

    }

源代码

[gitee.com/hankzhousan…

gitee.com

](link.zhihu.com/?target=htt…)