码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式-装饰者模式

时间:2021-05-24 17:01:12      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:com   override   ati   this   美颜   decorator   设计模式   rgb   nts   

装饰者模式:

在不改变原有对象的基础上,将功能附加到对象上

 

/**
 * 装饰者模式
 */
public class decoratorTest {
    public static void main(String[] args) {
        Component component = new ConcreteDecorator2(new ConcreteDecorator1(new concreteComponent()));
        component.operation();
    }
}

interface Component{
    void operation();
}

class concreteComponent implements Component{
    @Override
    public void operation() {
        System.out.println("拍照..");
    }
}

abstract class Decorator implements Component{
    Component component;

    public Decorator(Component component) {
        this.component = component;
    }
}

class ConcreteDecorator1 extends Decorator{

    public ConcreteDecorator1(Component component) {
        super(component);
    }

    @Override
    public void operation() {
        System.out.println("添加美颜..");
        component.operation();
    }
}

class ConcreteDecorator2 extends Decorator{

    public ConcreteDecorator2(Component component) {
        super(component);
    }

    @Override
    public void operation() {
        System.out.println("添加滤镜..");
        component.operation();
    }
}

 

设计模式-装饰者模式

标签:com   override   ati   this   美颜   decorator   设计模式   rgb   nts   

原文地址:https://www.cnblogs.com/chenfx/p/14788129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!