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; } }