您的位置:首页 > 编程语言 > Java开发

Java装饰设计模式的例子

2013-10-28 12:44 681 查看
这里给出一个顾客购买咖啡的例子。其中咖啡可以加冰(2元),加巧克力(4元)。

下面是面向对象中装饰模式的解决方案。

/**
* 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()+"元钱。");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: