码迷,mamicode.com
首页 > 其他好文 > 详细

适配器模式(结构型模式)

时间:2017-03-12 13:32:57      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:contract   override   open   不兼容   充电   adapter   ati   b16   and   

一.适配器模式介绍: 

   适配器模式:将一个类的接口,转换成客户希望的另外一个接口。adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作

例子分析(充电器充电):

  模式中的角色:

    • 安卓充电器:刚开始设计时,只能android手机充电。随着苹果手机的使用,需要提供能够给苹果手机充电
    • 苹果充电接口:对此设计出了能够给苹果手机充电的接口,这时就需要一个中间的转换器进行适配。
    • 适配器:安卓充电器和苹果充电接口都连接到这个适配器中进行适配。就可以进行给苹果手机充电了

UML类图:

技术分享

二.适配器模式实现:

    • android充电器类(AndroidCharger):用于给android手机充电
技术分享
public class AndroidCharger
{
    public virtual void Charge()
    {
        Console.WriteLine("android手机充电中...");
    }
}
android充电类
    • 苹果充电类(IOSCharger):用于给苹果手机充电
技术分享
public class IOSCharger
{
    public void QuickCharge()
    {
        Console.WriteLine("苹果手机充电中...");
    }
}
苹果充电类
    • 将两个充电器类进行适配
技术分享
public class Adapter : AndroidCharger
{
    IOSCharger ios = new IOSCharger();
    public override void Charge()
    {
        ios.QuickCharge();
    }
}
适配器类

三.适配器模式调用测试:

static void Main(string[] args)
{
    AndroidCharger c = new Adapter();
    c.Charge();
    Console.ReadKey();
}

  输出信息:

    • 苹果手机充电中...

 

适配器模式(结构型模式)

标签:contract   override   open   不兼容   充电   adapter   ati   b16   and   

原文地址:http://www.cnblogs.com/fengxuehuanlin/p/6537401.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!