1.作为委托去使用。
Java中没有委托,只有接口。所以接口能代替委托的功能。
interface IActionCallback
{
void Callback();
}
约等于委托
Action Callback
为什么是约等于,是因为委托有个特性是可以+=和-=,但是接口只能用=号去赋值。可以认为委托是接口的封装,还有一个List列表去维护需要执行的函数,也就是用类似于观察者模式进行的封装。
class Action
{
List<IActionCallback> invocationList = new List<IActionCallback>();
public void AddListener(IActionCallback callback)
{
invocationList.Add(callback);
}
public void RemoveListener(IActionCallback callback)
{
invocationList.Remove(callback);
}
public void SetListener(IActionCallback callback)
{
invocationList.Clear();
invocationList.Add(callback);
}
public void Invoke()
{
for(int i = 0;i < invocationList.Count;i+&#