适配器方法惯用法(主要是针对容器集合和Iterator()方法)

    如果现有一个Iterable类,你想要添加一种或多种在foreach语句中使用这个类的方法,应该怎么做呢?例如,假设你希望可以选择以向前的方向或是向后的方向迭代一个单词列表。如果直接继承这个类,并覆盖iterator()方法,你只能替换现有的方法,而不能实现选择。

    一种解决方法是所谓适配器方法的惯用法。在默认的前向的迭代器的基础上,添加产生反向迭代器的能力,我们不能使用覆盖,而是应该添加一个能够产生Iterable对象的方法,该对象可以用于foreach语句。


添加Iterable对象来为其添加一个iterator()方法
适配后执行代码


结果

    通过这种方式产生了不同的行为。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内置函数Python解释器内置了许多功能和类型,总是可用的。他们是按字母顺序列在这里。 abs(x)返回一个数的绝...
    uangianlap阅读 1,305评论 0 0
  • 曾经有很多人问我,你的故乡是什么样的城市,云南是什么样的国度。 我就我最熟悉的大理,丽江,香格里拉,西双版...
    字云若阅读 307评论 1 1
  • 君子坦荡荡,小人长戚戚。吾尝思,今之君子,与人为善,严于律已,亦长戚戚。缘此世间多小人,多谗言,多是非不论,多黑白...
    飞扬苏拉阅读 475评论 0 0
  • 昨天在鑫沙公寓大楼下,遇到一对母子。鑫沙公寓大楼下面有一大片空地,靠着公路的空地边缘作为停车场用,停满了车辆。人在...
    今墨阅读 264评论 0 3
  • 1 曾经有段时间,我每天早上五点半起床,简单洗漱后,坐公交从一个城区跨越到另一个城区去见习,车程大约一个多小时。 ...
    金吉拉_阅读 1,646评论 0 0