java 实现装饰器设计模式

package com.gylhaut.base;

/**
 * 装饰器
 * 类与类之间的关系
 * 1.依赖:形参(局部变量)
 * 2.关联:属性
 *      聚合 属性 整体和部分 不一致的生命周期 人和手
 *      组合 属性 整体和部分 一致的生命周期 人和大脑
 * 3.继承:父子类关系
 * 4.实现:接口与实现的关系
 */
public class Decorator {
    private Voice voice;


    public void say(){
        System.out.println("val="+1000*voice.getVal());
    }

    public Decorator(Voice voice) {
        this.voice = voice;
    }

    public Voice getVoice() {
        return voice;
    }

    public void setVoice(Voice voice) {
        this.voice = voice;
    }
}
package com.gylhaut.base;

public class Voice {
    private int val = 10;

    public Voice() {
    }
    public void say(){
        System.out.println("val="+val);
    }

    public int getVal() {
        return val;
    }

    public void setVal(int val) {
        this.val = val;
    }
}

  

posted @ 2019-01-27 07:10  流星小子  阅读(459)  评论(0编辑  收藏  举报