提示:以下是本篇文章正文内容,下面案例可供参考
一、基本概念
1)装饰模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。
2)装饰模式:有效的把类的核心职责和装饰功能分来解耦了。
二、代码示例
现在有两类奶茶,普通奶茶和果茶,有布丁和珍珠两类材料可以加入。需要一杯加了布丁和珍珠的奶茶
/// <summary>
/// 饮料
/// </summary>
public abstract class YinLiao
{
public abstract double Cost();
}
/// <summary>
/// 奶茶
/// </summary>
public class MilkTea : YinLiao
{
private double cost = 10;
public override double Cost()
{
Console.WriteLine("奶茶10元");
return cost;