适配器模式定义:将一个类的接口,转化成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。代码实现如下:
class Program
{
static void Main(string[] args)
{
Mobile mobile = new Mobile();
ThreeHole threeHole = new ThreeHole();
LineWithTwoHole lineWithTwoHole = new LineWithTwoHole(threeHole);
mobile.Charge(lineWithTwoHole);
Console.ReadKey();
}
}
/// <summary>
/// 手机类
/// </summary>
public class Mobile
{
public void Charge(ITwoHole twoHole)
{
twoHole.Connect();
AddPower();
}
public void AddPower()
{
Console.WriteLine("电量增加中。。。。");
}
}
/// <summary>
/// 两孔插座接口
/// </summary>
public interface ITwoHole
{
void Connect();
}
/// <summary>
/// 三孔插座
/// </summary>
public class ThreeHole
{
public void Connect()
{
LeftConnect();
RightConnect();
ExtraConnect();
}
public void LeftConnect()
{
Console.WriteLine("零线接通中。。。");
}
public void RightConnect()
{
Console.WriteLine("火线接通中。。。。。");
}
public void ExtraConnect()
{
Console.WriteLine("底线接通中。。。。");
}
}
public class LineWithTwoHole:ITwoHole
{
private ThreeHole threeHole;
public LineWithTwoHole(ThreeHole threeHole)
{
this.threeHole = threeHole;
}
public void Connect()
{
threeHole.LeftConnect();
threeHole.RightConnect();
}
}