本文共 1433 字,大约阅读时间需要 4 分钟。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 适配器模式{ class Program { static void Main(string[] args) { Target target = new Adapter(); target.Request(); Console.ReadKey(); } } ////// 定义客户端期待的接口 /// public class Target { ////// 使用virtual修饰以便子类可以重写 /// public virtual void Request() { Console.WriteLine("这是Target类的Request方法"); } } ////// 定义需要适配的类 /// public class Adaptee { public void SpecificRequest() { Console.WriteLine("这是Adaptee类的SpecificRequest方法"); } } ////// 定义适配器 /// public class Adapter : Target { private Adaptee adaptee = new Adaptee(); ////// 通过重写,表面上调用Request()方法,变成了实际调用SpecificRequest() /// public override void Request() { adaptee.SpecificRequest(); } }}运行:
以上代码展示了一个简单的C#示例,展示了适配器模式的实现。代码定义了三个类:Target、Adaptee以及Adapter。Target类定义了一个Request方法,Adaptee类定义了一个SpecificRequest方法,而Adapter类继承自Target类,并通过重写Request方法,将其委托给Adaptee类的SpecificRequest方法。
在运行示例中,程序首先创建了一个Adapter对象,并调用其Request方法,这实际上调用了Adaptee类的SpecificRequest方法。运行结果会在控制台打印相应的信息。
这个示例简单地展示了适配器模式的基本思想,即通过一个适配器类来将一个接口与具体实现类结合起来,从而使原来接口不适配的类能够协同工作。
转载地址:http://gwgr.baihongyu.com/