首页 > 编程 > C# > 正文

C#桥接模式完整实例

2020-01-24 01:37:05
字体:
来源:转载
供稿:网友

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

C#代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandAddressList:HandSetSoft  {    public override void Run()    {      Console.WriteLine("运行手机通讯录");    }  }}using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandBrandM:HandSetBrand  {    public override void Run()    {      soft.Run();    }  }}using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandBrandN:HandSetBrand  {    public override void Run()    {      soft.Run();    }  }}using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ public abstract class HandSetBrand  {    protected HandSetSoft soft;    public void SetHandSetSoft(HandSetSoft soft)     {      this.soft = soft;    }    public abstract void Run();  }}using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandSetGame:HandSetSoft  {    public override void Run()    {      Console.WriteLine("运行手机游戏");    }  }}using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandSetMP3:HandSetSoft  {    public override void Run()    {      Console.WriteLine("运行手机MP3");    }  }}using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ public abstract class HandSetSoft  {    public abstract void Run();  }}using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  class Program  {    static void Main(string[] args)    {      HandSetBrand ab;      ab = new HandBrandN();      ab.SetHandSetSoft(new HandSetGame());      ab.Run();      ab.SetHandSetSoft(new HandAddressList());      ab.Run();      ab = new HandBrandM();      ab.SetHandSetSoft(new HandSetGame());      ab.Run();      ab.SetHandSetSoft(new HandAddressList());      ab.Run();      ab.SetHandSetSoft(new HandSetMP3());      ab.Run();      Console.ReadKey();    }  }}

HandAddressList.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandAddressList:HandSetSoft  {    public override void Run()    {      Console.WriteLine("运行手机通讯录");    }  }}

HandBrandM.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandBrandM:HandSetBrand  {    public override void Run()    {      soft.Run();    }  }}

HandBrandN.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandBrandN:HandSetBrand  {    public override void Run()    {      soft.Run();    }  }}

HandSetBrand.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ public abstract class HandSetBrand  {    protected HandSetSoft soft;    public void SetHandSetSoft(HandSetSoft soft)     {      this.soft = soft;    }    public abstract void Run();  }}

HandSetGame.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandSetGame:HandSetSoft  {    public override void Run()    {      Console.WriteLine("运行手机游戏");    }  }}

HandSetMP3.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class HandSetMP3:HandSetSoft  {    public override void Run()    {      Console.WriteLine("运行手机MP3");    }  }}

HandSetSoft.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ public abstract class HandSetSoft  {    public abstract void Run();  }}

Program.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  class Program  {    static void Main(string[] args)    {      HandSetBrand ab;      ab = new HandBrandN();      ab.SetHandSetSoft(new HandSetGame());      ab.Run();      ab.SetHandSetSoft(new HandAddressList());      ab.Run();      ab = new HandBrandM();      ab.SetHandSetSoft(new HandSetGame());      ab.Run();      ab.SetHandSetSoft(new HandAddressList());      ab.Run();      ab.SetHandSetSoft(new HandSetMP3());      ab.Run();      Console.ReadKey();    }  }}

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

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