设计模式之装饰(Decorator)模式 代码详解
/** * Created with IntelliJ IDEA. * User: HYY * Date: 13-10-27 * Time: 下午10:49 * To change this template use File | Settings | File Templates. */ interface Product { public double money(); } class Coffee implements Product{ @Override public double money() { return 10; } } class Ice implements Product { private Product product; public Ice(Product product) { this.product = product; } @Override public double money() { return this.product.money() + 2;//加冰两块钱 } } class Chocolate implements Product { private Product product; public Chocolate(Product product) { this.product = product; } @Override public double money() { return this.product.money() + 4;//加糖四块钱 } } public class BuyCoffee { public static void main(String[] args) { Product coffee = new Coffee(); Product iceCoffee = new Ice(coffee); Product chocolateIceCoffee = new Chocolate(iceCoffee); System.out.println("你买了巧克力加冰咖啡,一共:"+chocolateIceCoffee.money()+"元钱。"); } }
本文出自 无忧之路 - 博客园