zoukankan      html  css  js  c++  java
  • 设计模式-装饰者模式

    装饰者模式:

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

    /**
     * 装饰者模式
     */
    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();
        }
    }
  • 相关阅读:
    C++实现base64编解码
    使用matplotlib绘制3D函数图像
    C++分治策略实现快速排序
    C++分治策略实现二分搜索
    C++生成随机数
    eBay 表结构
    mysql 流程函数
    无限极分类
    PHP 导出 Excell
    js
  • 原文地址:https://www.cnblogs.com/chenfx/p/14788129.html
Copyright © 2011-2022 走看看