委托和接口都允许类设计器分离类型声明和实现。给定的接口可由任何类或结构继承和实现;可以为任何类中的方法创建委托,前提是该方法符合委托的方法签名。接口引用或委托可由不了解实现该接口或委托方法的类的对象使用。既然存在这些相似性,那么类设计器何时应使用委托,何时又该使用接口呢?
委托具有以下特点:
-
委托类似于 C++ 函数指针,但它们是类型安全的。
-
委托允许将方法作为参数进行传递。
-
委托可用于定义回调方法。
-
委托可以链接在一起;例如,可以对一个事件调用多个方法。
-
方法不必与委托签名完全匹配。
在以下情况中使用委托:
-
当使用事件设计模式时。-一种设计模式
-
当封装静态方法可取时。-隐藏静态方法;我举个例子:new delegate(静态方法)
-
当调用方不需要访问实现该方法的对象中的其他属性、方法或接口时。
-
需要方便的组合。
-
当类可能需要该方法的多个实现时。需要一个委托完成多个事情的时候。
在以下情况中使用接口:
-
当存在一组可能被调用的相关方法时。
-
当类只需要方法的单个实现时。
-
当使用接口的类想要将该接口强制转换为其他接口或类类型时。
-
当正在实现的方法链接到类的类型或标识时:例如比较方法。
原文链接: https://www.cnblogs.com/guosongORxiaosong/archive/2013/02/21/2920972.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/78607
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!