设计模式之装饰模式

时间:2022-04-29
本文章向大家介绍设计模式之装饰模式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

其中一个配料类代码:

public class Fruit extends AbstractDrinkDecorator {
	public Fruit(Drink drink) {
		super(drink);
	}
	@Override
	public double price() {
		return 1.5 + drink.price();
	}

	@Override
	public String destribe() {
		return drink.destribe() +  " 加果粒  ";
	}

测试:

public static void main(String[] args) {
	    Drink drink = new Coffee();
	    System.out.println("给我给我来一杯:" + drink.destribe());
	    System.out.println("您好,价格为:" + drink.price());
	    
	    drink = new Sugar(drink);
	    System.out.println("给我来一杯:" + drink.destribe());
	    System.out.println("您好,价格为:" + drink.price());
	    
	    drink = new Ice(drink);
	    System.out.println("给我来一杯:" + drink.destribe());
	    System.out.println("您好,价格为:" + drink.price());
	    
	    drink = new Fruit(drink);
	    System.out.println("给我来一杯:" + drink.destribe());
	    System.out.println("您好,价格为:" + drink.price());
	    
	    System.out.println("-----------------");
	    
	    drink = new Coco();
	    System.out.println("给我来一杯:" + drink.destribe());
	    System.out.println("您好,价格为:" + drink.price());
	    
	    drink = new Ice(drink);
	    System.out.println("给我来一杯:" + drink.destribe());
	    System.out.println("您好,价格为:" + drink.price());
    }

console:

给我给我来一杯:咖啡 
您好,价格为:8.5
给我来一杯:咖啡  加糖 
您好,价格为:9.0
给我来一杯:咖啡  加糖  加冰
您好,价格为:9.5
给我来一杯:咖啡  加糖  加冰 加果粒  
您好,价格为:11.0
-----------------
给我来一杯:可乐 
您好,价格为:3.5
给我来一杯:可乐  加冰
您好,价格为:4.0