一、接口类
public interface IDianYuan {
string GiveDian();
}二、原电源类,需要更改
public class AllDianYuan : IDianYuan
{
public string GiveDian()
{
return "220V";
}
}三、目标电源,需要更换上面的为这个
public class TargetDianYuan {
//接口不一样
public string GiveDianYuan() {
return "5V";
}
}四、适配者类
public class AdaptDianYuan : IDianYuan
{
private TargetDianYuan targetDianYuan = new TargetDianYuan();
public string GiveDian()
{
return targetDianYuan.GiveDianYuan();
}
}五、适配者使用
using UnityEngine;
public class testAdapt : MonoBehaviour {
void Start () {
IDianYuan allDianYuan = new AllDianYuan();
Debug.Log(allDianYuan.GiveDian());
Debug.Log("要换 TargetDianYuan,但是接口不同");
//使用适配电源转换一下
allDianYuan = new AdaptDianYuan();
Debug.Log(allDianYuan .GiveDian());
}
}在原电源和目标电源都很难发生改变的时候,所以就是用一个适配者类来适用原来的接口再去调用目标电源。