迭代器模式 雨点打透心脏的1/2处 2021-09-17 00:04 555阅读 0赞 ## 16.迭代器模式 ## ![70][] class Program { static void Main(string[] args) { ConcreteAggregate monkey = new ConcreteAggregate(); monkey[0] = "猴子"; monkey[1] = "刘木同"; monkey[2] = "笨蛋"; monkey[3] = "小弟"; monkey[4] = "领导"; monkey[5] = "内部人员"; monkey[6] = "小偷"; Iterator i = new ConcreteIterator(monkey); object item = i.First();//从第一个乘客开始 while (!i.IsDone()) { Console.WriteLine("{0}请买火车票", i.CurrentItem());//若没买票,请补票 i.Next();//遍历下一个 } Console.Read(); } } abstract class Iterator { public abstract object First();//1开始对象 public abstract object Next();//2得到下一个对象 public abstract bool IsDone();//3判断是否到结尾 public abstract object CurrentItem();//4当前对象 } abstract class Aggregate//聚集抽象类 { public abstract Iterator CreateIterator();//创建迭代器 } class ConcreteIterator : Iterator//具体迭代器类 { private ConcreteAggregate aggregate;//定义一个具体聚集对象 private int current = 0; public ConcreteIterator(ConcreteAggregate aggregate) { this.aggregate = aggregate;//初始化时将具体的聚集对象传入 } public override object First()//得到聚集的第一个对象 { return aggregate[0]; } public override object Next()//得到聚集的下一个对象 { object ret = null; current++; if (current < aggregate.Count) { ret = aggregate[current]; } return ret; } public override bool IsDone()//判断当前是否遍历到结尾,到结尾返回true { return current >= aggregate.Count ? true : false; } public override object CurrentItem() { return aggregate[current];//返回当前的聚集对象 } } class ConcreteAggregate : Aggregate//具体聚集类 { private IList<object> items = new List<object>(); public override Iterator CreateIterator() { return new ConcreteIterator(this); } public int Count { get { return items.Count; } } public object this[int index] { get { return items[index]; } set { items.Insert(index, value); } } } ![70 1][] [70]: /images/20210725/abd8279ea601469f84c94c4adde6ff7e.png [70 1]: /images/20210725/b87772a71b0d4cbdb936c2420c959d61.png
相关 迭代器模式 一、前言 `相信相信的力量!` 从懵懂的少年,到拿起键盘,可以写一个HelloWorld。多数人在这并不会感觉有多难,也不会认为做不出来。因为这样的例子,有老师的指导、 ╰半夏微凉°/ 2022年10月16日 15:21/ 0 赞/ 42 阅读
相关 迭代器模式 转载:[迭代器模式 - C语言中文网][- C] 迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是 你的名字/ 2022年09月01日 13:47/ 0 赞/ 29 阅读
相关 迭代器模式 [迭代器模式][Link 1] > Provides a way to access the elements of an aggregate object withou 刺骨的言语ヽ痛彻心扉/ 2022年05月30日 08:22/ 0 赞/ 313 阅读
相关 迭代器模式 迭代器模式 一、概述 1. 提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。又称为:游标cursor模式 2. 聚合对象:存储数据 , 曾经终败给现在/ 2022年04月18日 06:26/ 0 赞/ 346 阅读
相关 迭代器模式 在软件开发中,可以存储多个成员对象的类称为聚合类(Aggregate Classes),对应的对象称为聚合对象。迭代器模式可以让客户端在无须了解聚合对象的内部结构的情况下,即可 深碍√TFBOYSˉ_/ 2021年10月15日 09:33/ 0 赞/ 464 阅读
相关 迭代器模式 用途 -------------------- 迭代器模式 (Iterator) 提供一种方法顺序访问一个聚合对象中各个元素,而又 不暴露该对象的内部表示。 迭代器模式 港控/mmm°/ 2021年09月26日 15:52/ 0 赞/ 562 阅读
相关 迭代器模式 迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部元素; 为遍历的对象提供一个如开始、下一个、是否结束、当前哪一项等统一的接口。 优点: 1、它 柔光的暖阳◎/ 2021年09月17日 02:10/ 0 赞/ 469 阅读
相关 迭代器模式 16.迭代器模式 ![70][] class Program { static void Main(string[] a 雨点打透心脏的1/2处/ 2021年09月17日 00:04/ 0 赞/ 556 阅读
相关 迭代器模式 一 点睛 定义 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 二 结构 迭代器模式主要包含以下角色: 抽象聚合(Aggre 系统管理员/ 2021年07月25日 01:50/ 0 赞/ 527 阅读
相关 迭代器模式 代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 ... 小灰灰/ 2020年06月13日 05:39/ 0 赞/ 835 阅读
还没有评论,来说两句吧...