设计模式之·适配器模式

适配器模式定义:将一个类的接口,转化成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。代码实现如下:

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();
      }
   }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值