Unity 设计模式之 适配器模式的实例介绍

 时间:2026-02-14 17:59:57

1、适配器模式:

      将一个类的接口转换成客户希望的例外一个接口,Adapter 模式使得原本由于接口不兼容二不能一起工作的那些类可以一起工作。

Unity 设计模式之 适配器模式的实例介绍

2、模式中的角色:

       1)Target(目标类):这时客户所期待的接口,目标可以使具体的或抽象的类,也可以是接口;

       2)Adapter(适配者类):通过在内部包装一个 Adapter 对象,把源接口转换为目标接口;

       3)Adaptee(被适配者类):需要适配的类;

3、适配者模式使用实例

Unity 设计模式之 适配器模式的实例介绍

1、打开Unity,新建一个空工程,具体如下图

Unity 设计模式之 适配器模式的实例介绍

2、在工程中,新建几个脚本,然后双击打开,具体如下图

Unity 设计模式之 适配器模式的实例介绍

3、脚本的具体代码和代码说明如下图

Unity 设计模式之 适配器模式的实例介绍

Unity 设计模式之 适配器模式的实例介绍

Unity 设计模式之 适配器模式的实例介绍

Unity 设计模式之 适配器模式的实例介绍

Unity 设计模式之 适配器模式的实例介绍

4、PlayerTarget 脚本具体内容如下:

public abstract class PlayerTarget  {

    protected string name;

    public PlayerTarget(string name){

        this.name = name;

    }

    public abstract void Attack ();

}

5、Forwards 脚本具体内容如下:

using UnityEngine;

public class Forwards : PlayerTarget {

    public Forwards(string name):base(name){

    }

    public override void Attack ()

    {

        Debug.Log (string.Format ("Forwards {0} Attack", name));

    }

}

6、ForeignCenterAdaptee 脚本具体内容如下:

using UnityEngine;

public class ForeignCenterAdaptee  {

    private string name;

    public string Name {

        get {

            return name;

        }

        set {

            name = value;

        }

    }

    public void Attack(){

        Debug.Log (string.Format ("ForeignCenter {0} 攻击", name));

    }

}

7、TranslatorAdapter 脚本具体内容如下:

public class TranslatorAdapter : PlayerTarget {

    private ForeignCenterAdaptee foreignCenter = new ForeignCenterAdaptee();

    public TranslatorAdapter(string name):base(name){

        foreignCenter.Name = name;

    }

    public override void Attack ()

    {

        foreignCenter.Attack ();

    }

}

8、Test 脚本具体内容如下:

using UnityEngine;

public class Test : MonoBehaviour {

    // Use this for initialization

    void Start () {

        PlayerTarget player1 = new Forwards ("Player1");

        player1.Attack ();

        PlayerTarget player2 = new TranslatorAdapter ("外籍球员2");

        player2.Attack ();

    }

}

9、脚本编译正确,回到Unity界面,在场景中新建一个 GameObject,并把 Test 脚本赋给 GameObject,具体如下图

Unity 设计模式之 适配器模式的实例介绍

10、运行场景,控制台 Console 打印如下图

Unity 设计模式之 适配器模式的实例介绍

11、到此,《Unity 设计模式之 组合模式的实例介绍》讲解结束,谢谢

  • Unity 设计模式之 迭代器模式的实例介绍
  • Unity 设计模式之 原型模式的实例介绍
  • Unity 设计模式之 简单工厂模式的实例介绍
  • unity3d怎么设置成中文
  • unity3d中如何导入3dmax创建的模型
  • 热门搜索
    心理健康知识手抄报 2035年的我手抄报 关于生命的手抄报 同讲普通话携手进小康手抄报 元宵节手抄报大全 绿色环保手抄报图片 疫情手抄报内容怎么写 未来的2035年手抄报简单 手抄报版面设计花边 母亲节手抄报简单字少