首页 > 编程 > C# > 正文

C#装饰者模式实例分析

2020-01-24 02:22:34
字体:
来源:转载
供稿:网友

本文实例讲述了C#装饰者模式。分享给大家供大家参考。具体方法如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 装饰者{  class Program  {    static void Main(string[] args)    {      ConcreteComponent con = new ConcreteComponent();      ConcreteDecoratorA a = new ConcreteDecoratorA();      a.SetComponent(con);      a.Operation();      a.AddBehavior();      Console.WriteLine("============================");      ConcreteDecoratorB B = new ConcreteDecoratorB();      B.SetComponent(a);      a.AddBehavior();      B.Operation();      B.AddBehavior();    }    public abstract class Component    {      public abstract void Operation();    }    abstract class Decorator : Component    {      private Component component;      public void SetComponent(Component component)      {        this.component = component;      }      public override void Operation()      {        if (component != null)        {          component.Operation();        }      }    }    class ConcreteDecoratorA : Decorator    {      public override void Operation()      {        base.Operation();      }      public void AddBehavior()      {        Console.WriteLine("装饰A类的操作!");      }    }    class ConcreteDecoratorB : Decorator    {      public override void Operation()      {        base.Operation();      }      public void AddBehavior()      {        Console.WriteLine("装饰B类的操作!");      }    }    public class ConcreteComponent : Component    {      public override void Operation()      {        Console.WriteLine("具体对象的操作!");      }    }  }}

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表