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

    装饰设计模式

    *
    interface Coder {
    public void code();
    }

    class Student implements Coder {

    @Override
    public void code() {
    System.out.println("javase");
    System.out.println("javaweb");
    }

    }

    class HeiMaStudent implements Coder {
    private Student s; //获取到被包装的类的引用
    public ItcastStudent(Student s) { //通过构造函数创建对象的时候,传入被包装的对象
    this.s = s;
    }
    @Override
    public void code() { //对其原有功能进行升级
    s.code();
    System.out.println("数据库");
    System.out.println("ssh");
    System.out.println("安卓");
    System.out.println(".....");
    }

    }

         * @param args
         * 装饰设计模式的好处是:
         * 耦合性不强,被装饰的类的变化与装饰类的变化无关
         */
        public static void main(String[] args) {
            HeiMaStudent hms = new HeiMaStudent(new Student());
            hms.code();
        }
    
    }
    
    interface Coder {
        public void code();
    }
    
    class Student implements Coder {
    
        @Override
        public void code() {
            System.out.println("javase");
            System.out.println("javaweb");
        }
        
    }
    
    class HeiMaStudent implements Coder {
        //1,获取被装饰类的引用
        private Student s;                        //获取学生引用
        
        //2,在构造方法中传入被装饰类的对象
        public HeiMaStudent(Student s) {
            this.s = s;
        }
    
        //3,对原有的功能进行升级
        @Override
        public void code() {
            s.code();
            System.out.println("ssh");
            System.out.println("数据库");
            System.out.println("大数据");
            System.out.println("...");
        }
    }
  • 相关阅读:
    5.11实例应用
    VS2015调试
    4.4空间平滑
    4.3图像噪声
    4.2 傅里叶变换
    4.1 图像采样
    4.5.实例应用
    关于split和merge出错问题解决
    Ansible用于网络设备管理 part 3 使用NAPALM成品库
    记办公室小机房停电
  • 原文地址:https://www.cnblogs.com/yimian/p/6552374.html
Copyright © 2011-2022 走看看