结构模式之装饰模式

来源:互联网 发布:淘宝新店铺推广怎么写 编辑:程序博客网 时间:2024/04/29 06:53

装饰模式就是动态的增加责任,示例代码:

package com.djk.design.struct.decor;public interface Food {void description();}
package com.djk.design.struct.decor;public class Cake implements Food{private Food food;public Cake(Food food) {super();this.food = food;}@Overridepublic void description() {if (null != food){food.description();}System.out.println("蛋糕");}}
package com.djk.design.struct.decor;public class ChocolateCake implements Food{private Food food;public ChocolateCake(Food food) {super();this.food = food;}@Overridepublic void description() {if (null != food){food.description();}System.out.println("巧克力味");}}
package com.djk.design.struct.decor;public class ZhiShiCake implements Food{private Food food;public ZhiShiCake(Food food) {super();this.food = food;}@Overridepublic void description() {if (null != food){food.description();}System.out.println("芝士");}}

package com.djk.design.struct.decor;public class Client {public static void main(String[] args) {Food food = new Cake(new ChocolateCake(new ZhiShiCake(null)));food.description();}}




0 0