00:00
我们来用迭代器完成一下这个学校院系的展示。那么我们还是老规矩,先把思路分析出来,我们画一个类图。来,同学们,来,我们看一下还在这边好吧。这个地方我们先注释一下。跟上我的思路,那首先呢,我们新建。对,新建一个类图。我们新建一个类图。好,这边我们直接写ER。或者叫show。叫什么呢?Show我们的一个department。好吧,Department,好的。那现在呢,我们来画下这个图,稍微有点复杂,大家跟上我的思路啊,也就是说稍微有点复杂,但也不是很难,首先呢。我们可以看到这个系统提供的E这个方法肯定是有的,里面有三个方法。同学们应该还有印象哈,一个是next。
01:00
Ha。Next。它会返回一个不。对吧,还有一个方法。这个我相信同学们还有点,还有一点印象,就是还有一个next方法,返回一个一返回一个意,这个意思它是一个泛行的,然后还有一个什么方法呢?同学们还有一个方法就是remote。移除。针对这个集合呢,一定会有一个移除的操作。好,现在呢,我们来看一下。在我们这这个院校便利里面。那么迭代器应该有几个呢?这个地方就不好说,对,因为你计算机学院还有信息工程学院。他们的形式可能一样,可能不一样。假如我们假设计算机学院存放的这一个系和信息工程学院存放系的方式不一样。不一样,那这个时候呢,我就要设计两个。
02:01
OK,不着急,我们首先有一个computer。Computer college。E g e computer。好,这个我们就写的全一点,然后呢,还有一个什么呀,还有一个类就是我们工程系的info,我简单写啊,叫info信息学院。College什么呢?写一次咱们就把它搞懂就完了。大家看这是两个,那既然他们两个肯定要去实现。我们这个接口这是肯定的。那大家知道,因为他在实现的时候呢,这里面它会聚合department,所以说他知道这里面他会知道到底怎么形式来进行进行这个迭代的,所以说我们这还有一个类来看到还有一个什么呢。Department。因为我们戏里面放的是。这个就是说我们血液里面放的是戏,因此呢,它会被聚合到。
03:00
这没去。而且大家知道这个迭代器里面肯定知道department是怎么放的,是数组呢,还是一个集合的形式。好,现在这边就写完,写完以后同学们我们接着往这边写,这边还有一个接口。根据刚才分析呢,我们有个接口,比如说我取个名字叫college。这个接口里面有个核心的方法什么呀,叫create。它会返回一个迭代器。Create e create什么呢?好。那那他既然返回呢,肯定这边这个类型我们就写成了是吧,比较合理一点。那下面呢,我怎么知道它返回的是computer college还是information for college呢?好,这面也会涉及到两个类。好哪两个嘞。我们来看一下。一个是。一个是computer。Computer college。
04:01
OK。然后呢,还有一个类来,还有一个就是我们in four。For college。好,我们让这两个类干什么呀去,也是实现了。College这个接口,那实验college接口里面就有create了。是吧,那我就说他怎么知道,他怎么知道他会获取到哪一个呢,这里面就会有关联,就是他会呢,跟这个他返回的是computer college,而information college呢,返回的是information college。同样的道理,这里面肯定会聚合我们的。而且也是以集合方式的,好,我把这个稍微往这边挪一下,看的清楚一点。好这句画完画完以后呢,大家知道这个college啊,它是不是也有可能有多个啊。这个大家明白吗?就是一个学校里面是不是有多个college?所以说我们这上面呢,再来做一层输出,输出层比如说我们叫output。
05:03
Output的一个,呃,一个实现。好,就写这个,那当然这样子的话呢,我们在这个college里面也会聚合我们的college,也就是说呃,学就是学学院下面包括这个学院下面有有computer ino学院,但是你在输出的时候,你你可能有多个学院,因此呢,我们在这专门做一个输出的一个类。好就可以了,这边是完成对所有。所有学院的输出,我写个注释。完成什么呢?完成对所有注意听啊所有学院的输出。主要是看这个结构,同学们,我们在学设计模式的时候呢,主要是在想人家怎么设计这个事的。当然,柯南头团在哪里呢?柯南团就在这里。可端呢,它会依赖我们这个output这个implement这个输出的,同时呢,它会得到一个接口,也就是说我只要拿到一个接口,我就可以去便利了。
06:03
就这么一回事,好,同学们,这个类图我们就画到这儿了。呃,内图的话其实也不是很难,你仔细来看,就说一边是我们的输出的方式。就这边是一个迭代,迭代器,他帮我们输出,而这边真正的数据就是我们真正的,就是我们真正的这个要去。然后去便利的这个集合呢,是放在这里面的,这里面也会有集合,但是它主主要是用来用来写这个迭代器怎么。怎么进行遍历,而我们数据其实放在这边,所以说这是数据。这是便利方式,把它分开。OK。那不同的变不同的这个数据呢,我们便利的方式也就不一样,所以对外面来,对这个output来讲呢,我们拿的都是一个迭代器。好同学们,那这个就写完了,写完过后呢,我们下一步就用代码把它实现一下,好吧,代码实现呢,也可能类比较多,所以说我们单独的写一个写一个章节。
我来说两句