Unity学习笔记:设计模式-ADAPTER(适配器)

关键词:

两个功能一致的类,但是由于接口的不同不能直接复用,加入适配器做接口转换。

用性:

• 你想使用一个已经存在的类,而它的接口不符合你的需求。

• 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。

• (仅适用于对象 A d a p t e r)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

案例:(用手机给电脑传数据 接口不同 需要一根数据线)

namespace Adapter_DesignPattern2
{
    using System;

    //希望拥有的,实际不存在
    class 苹果手机Target
    {
        virtual public void 苹果充电插头(int x)
        {
           				
        }
    }
    //实际存在的
    class 电脑daptee
    {
        public void USB插孔(string str)
        {
            Console.WriteLine("USB插孔 = {0}", str);
        }
    }
    //适配器类怎么编写
    //1>创建适配器类
    //2>继承希望的类,重写 希望类中方法
    //3>在适配器类中 实例化 已有的类;调用已有类的对象的方法

    class 充电线Adapter : 苹果手机Target
    {
        //创建 已有的类
        private 电脑daptee adaptee = new 电脑daptee();
        override public void 苹果充电插头(int a)
        {
            string b;
            b = a.ToString();
            adaptee.USB插孔(b);
        }
    }

    /// <summary>
    ///    Summary description for Client.
    /// </summary>
    public class Client
    {     

        public static void Main1(string[] args)
        {
           //通过适配器 可以使用现有的USB接口了。
            苹果手机Target x = new 充电线Adapter();
            x.苹果充电插头(2);
            Console.Read();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/huanyu0127/article/details/107805257