zoukankan
html css js c++ java
何时使用委托而不使用接口
委托和接口都允许类设计器分离类型声明和实现。给定的接口可由任何类或结构继承和实现;可以为任何类中的方法创建委托,前提是该方法符合委托的方法签名。接口引用或委托可由不了解实现该接口或委托方法的类的对象使用。既然存在这些相似性,那么类设计器何时应使用委托,何时又该使用接口呢?
在以下情况中使用委托:
当使用事件设计模式时。
当封装静态方法可取时。
当调用方不需要访问实现该方法的对象中的其他属性、方法或接口时。
需要方便的组合。
当类可能需要该方法的多个实现时。
在以下情况中使用接口:
当存在一组可能被调用的相关方法时。
当类只需要方法的单个实现时。
当使用接口的类想要将该接口强制转换为其他接口或类类型时。
当正在实现的方法链接到类的类型或标识时:例如比较方法。
使用单一方法接口而不使用委托的一个很好的示例是 IComparable 或 IComparable。IComparable 声明 CompareTo 方法,该方法返回一个整数,以指定相同类型的两个对象之间的小于、等于或大于关系。IComparable 可用作排序算法的基础,虽然将委托比较方法用作排序算法的基础是有效的,但是并不理想。因为进行比较的能力属于类,而比较算法不会在运行时改变,所以单一方法接口是理想的。
查看全文
相关阅读:
CSP2019-S2总结
#期望dp#洛谷 6835 [Cnoi2020]线形生物
#树状数组,概率,离散,双指针#洛谷 6834 [Cnoi2020]梦原
#容斥,倍数,排列组合#洛谷 2714 四元组统计
#莫队,bitset#洛谷 3674 小清新人渣的本愿
#贪心#洛谷 3173 [HAOI2009]巧克力
#树链剖分,LCA#洛谷 3398 仓鼠找sugar
#树状数组,哈希#洛谷 6687 论如何玩转 Excel 表格
小甲鱼Python第八讲课后习题
小甲鱼Python第七讲课后习题
原文地址:https://www.cnblogs.com/RuiLei/p/694324.html
最新文章
微信等webview中无法修改document.title的情况
js跨域及解决方案
webpack 教程资源目录
JavaScript基础挖掘目录
HTML的meta标签
JavaScript 的 async/await
HTTP1.0,HTTP1.1,HTTP2.0、HTTP3
js中的可枚举属性与不可枚举属性
#Splay#U137476 序列
#莫比乌斯反演#ZOJ 3435 Ideal Puzzle Bobble SP7001 VLATTICE
热门文章
#深搜,期望#CF105B Dark Assembly
#威佐夫博弈#洛谷 2252 [SHOI2002]取石子游戏
莫反及杜教筛前置知识小记
矩阵乘法小记
二分、三分小记
Manacher小记
#高精度,模拟,vector#C 前缀
#线性筛,质数#LOJ 6165 一道水题
#状压dp#D 诗人小K
#构造#B 连通子图
Copyright © 2011-2022 走看看