高层的不依赖底层代码的改动而改动,按咱课里说的,我不去调用方法,而是去调用接口,这个接口有不同实现。
那么它是如何通过一个配置文件(或者其他方法)来实现的。
我具体要怎么去写呢,怎么通过一个接口去调用它的实现呢。(不会是用反射吧 0.0)
public interface ICalculate {
float GetResult(float a, float b);
}
public class CalculateAdd : MonoBehaviour,ICalculate {
public float GetResult(float a, float b) {
return a + b;
}
}
public class CalculateRemove : MonoBehaviour,ICalculate {
public float GetResult(float a, float b) {
return a - b;
}
}
调用它们
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class TestScript : MonoBehaviour,IDragHandler,IDropHandler{
ICalculate calculate;
public void OnDrag(PointerEventData eventData) {
//TODO ??
}
public void OnDrop(PointerEventData eventData) {
//TODO ??
}
}
ICalculate calculate=new CalculateAdd();
或者 = new CalculateRemove();
调用方法直接调用
calculate.GetResult(xx,xx);
这样就可以了,
这里是使用接口调用的,并不是使用的具体的实现调用的