最大的区别在于,我们可以在委托类的对象内,叠加或者删除多个方法;而接口一次只能加载一个方法;
在以下情况中使用委托:
当使用事件设计模式时。-一种设计模式
当封装静态方法可取时。-隐藏静态方法;我举个例子:new delegate(静态方法)
当调用方不需要访问实现该方法的对象中的其他属性、方法或接口时。
需要方便的组合。
当类可能需要该方法的多个实现时。需要一个委托完成多个事情的时候。
在以下情况中使用接口:
当存在一组可能被调用的相关方法时。
当类只需要方法的单个实现时。
当使用接口的类想要将该接口强制转换为其他接口或类类型时。
当正在实现的方法链接到类的类型或标识时:例如比较方法。
|