iterator迭代器详解_迭代器是什么

iterator迭代器详解_迭代器是什么迭代器 Iterator动机模式定义实例结构要点总结笔记动机在软件构建过程中,集合对象内部结构常常变化各异.但对于这些集合对象.我们希望在不暴露其内部结构地同时.可以让外部客户代码透明地访问其中包含地元素;同时这种”透明遍历”也为”同一种算法在多种集合对象上进行操作”提供了可能.使用面向对象技术将这种便利机制抽象为”迭代对象”为”应对变化中地集合对象”提供了一种优雅地方式模式定义提供了一种方法顺序访问一个聚合对象中地各个元素,而又不暴露(稳定)该对象地内部表示.实例结构要点总结迭代抽象

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

动机

在软件构建过程中,集合对象内部结构常常变化各异.但对于这些集合对象.我们希望在不暴露其内部结构地同时.可以让外部客户代码透明地访问其中包含地元素;同时这种”透明遍历”也为”同一种算法在多种集合对象上进行操作”提供了可能.

使用面向对象技术将这种便利机制抽象为”迭代对象”为”应对变化中地集合对象”提供了一种优雅地方式

模式定义

提供了一种方法顺序访问一个聚合对象中地各个元素,而又不暴露(稳定)该对象地内部表示.

实例

结构

在这里插入图片描述

要点总结

  • 迭代抽象:访问一个聚合对象的内部不需要了解他的具体实现细节
  • 迭代多态:为遍历不同的集合结构提供一个统一的接口.从而支持同样的算法在不通的集合结构上进行操作
  • 迭代器的健壮性考虑:遍历的同时更改迭代器所在的集合结构,会导致问题

笔记

  • 虚函数也有成本
  • 模板也是一种多态技术 但是模板是编译时多态 编译器在编译的时候会辨别调用的那些代码
  • 由于时代变化 面向对象模板设计结构已经老了
  • 上述内容讲的是面向对象式的迭代器
  • C++98之后标准的迭代器式使用模板描述的
  • 其他语言好多有不支持编译时模板 所以好多语言java C#等都式用的面向对象迭代器
  • 思想都是通过迭代器来隔离算法和容器 但是实现的技术已经发生了变化
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168499.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 锋利的jQuery系列<一>[通俗易懂]

    锋利的jQuery系列<一>[通俗易懂]1.简介jQuery是继Prototype之后又一个优秀的JavaScript库,是一个由JohnResig创建于06年1月的开源项目。现在的jQuery主要包括核心库、UI、插件和jQueryMobile这几大模块。2.配置jQuery环境进入jQuery的官网,下载最新的jQuery库文件。jQuery环境配置:jQuery不需要安装,把下载的jquery.js放到网站的一个公共的位

  • mycat读写分离配置文件详解_mycat实现读写分离

    mycat读写分离配置文件详解_mycat实现读写分离环境准备mysql5.7mycat1.6.7.1-release一主一从master:10.0.60.8:3307slave:10.0.60.8:3308配置实现读写分离前需要实现主从复制但是mycat不负责任何的数据同步问题。所以得自己配置mysql主从复制只需要配置schema.xml即可方式1:<dataHostname=”localhost1″maxCon=”1000″minCon=”10″balance=”1″writeType=”0″dbType=

    2022年10月13日
  • 浅谈 js 字符串 search 方法

    浅谈 js 字符串 search 方法这是一个很久以前的事情了,好像是安心兄弟在学习js的时候做的练习。具体记不清了,今天就来简单分析下search究竟是什么用的。从字面意思理解,一个是搜索字符串吧。varstr="1

  • 地表最强app官网ios_地表最强app下载

    地表最强app官网ios_地表最强app下载1.全历史当你村里的二大爷,国外回来的Uncle刘想要和你交流交流历史时,没关系,查看这个App。从生命起源到现代文明,从东亚到北美洲,从政权到经济,从军事到民生,保证让你上知天文,下知地理,聊得你二大爷也很蒙圈。2.Canva朋友相聚怎么少的了拍照发朋友圈!Canva提供朋友圈拍照模板以及各种特效,可爱的,青春的,春节气氛的,统统都有。万一结个婚呢,还可以在上面做贺卡。3.美丽修行…

  • C++旅游管理系统

    C++旅游管理系统C++旅游管理系统https://download.csdn.net/download/fuck11111/3364686

  • 太厉害了,终于有人能把TCP/IP 协议讲的明明白白了「建议收藏」

    一图看完本文一、计算机网络体系结构分层计算机网络体系结构分层计算机网络体系结构分层不难看出,TCP/IP与OSI在分层模块上稍有区别。OSI参考模型注重“通信协议必要的功能是什么”,而TCP/IP则更强调“在计算机上实现协议应该开发哪种程序”。二、TCP/IP基础1.TCP/IP的具体含义从字面意义上讲,有人可能会认为…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号