当前位置: 移动技术网 > IT编程>开发语言>c# > C#装饰者模式实例分析

C#装饰者模式实例分析

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例讲述了c#装饰者模式。分享给大家供大家参考。具体方法如下: using system; using system.collections.generic

本文实例讲述了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#程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网