软件编程
位置:首页>> 软件编程>> C#编程>> C#装饰者模式实例分析

C#装饰者模式实例分析

作者:shichen2014  发布时间:2022-07-16 00:33:53 

标签:C#,装饰,模式

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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com