• 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("...");
        }
    }
  • 相关阅读:
    使用原始XML资源——使用原始XML文件
    使用原始XML资源——定义原始XML资源
    属性动画(Property Animation)资源
    使用(Drawable)资源———AnimationDrawable资源
    使用(Drawable)资源———ClipDrawable资源
    RabbitMQ基本理论
    Celery分布式任务队列快速入门
    python多版本管理包pyenv
    CentOS6最佳实践
    BASH 基本语法
  • 原文地址:https://www.cnblogs.com/yimian/p/6552374.html
Copyright © 2020-2023  润新知