家用电,电压为 220v,经过适配器,输出为 18v,可供我的笔记本进行使用。
第一种:类适配器(使用继承)
Portal.cs 类
/// <summary> /// 入口 /// </summary> public class Portal { private readonly string _msg; public Portal(string msg) { _msg = msg; } /// <summary> /// 输入 /// </summary> public void Input() { Console.WriteLine(_msg + " --> 18v。"); } }
IOutput.cs 接口
interface IOutput { /// <summary> /// 输出 /// </summary> void Output(); }
Adapter.cs 类
/// <summary> /// 适配器 /// </summary> class Adapter : Portal, IOutput { public Adapter(string msg) : base(msg) { } public void Output() { Input(); } }
方法调用
class Program { static void Main(string[] args) { IOutput adapter = new Adapter("220v"); adapter.Output(); //结果为 220v --> 18v。 } }
第二种:对象适配器(使用委托)
Portal.cs 类
/// <summary> /// 入口 /// </summary> public class Portal { private readonly string _msg; public Portal(string msg) { _msg = msg; } public void Input() { Console.WriteLine(_msg + " --> 18v"); } }
Export.cs 类
/// <summary> /// 出口 /// </summary> public abstract class Export { public abstract void Output(); }
Adapter.cs 类
public class Adapter : Export { private readonly Portal _portal; public Adapter(string msg) { _portal = new Portal(msg); } public override void Output() { _portal.Input(); } }
方法调用
class Program { static void Main(string[] args) { Export adapter = new Adapter("220v"); adapter.Output(); //结果为 220v --> 18v。 } }