迭代器模式
题目
电视机遥控器就是一个迭代器的实例,通过它可以实现对电视机频道集合的遍历操作,现有TCL和创维两种品牌电视机,模拟电视机遥控器的实现。以下给出了一种实现方式的UML类图。
类图
【分析】
图中Television是抽象聚合类,具体聚合类SkyworthTelevision,其中方法createIterator()创建对应的具体SkyworthIterator对象,具体聚合类TCLTelevision,其中方法createIterator()创建对应的具体TCLIterator对象。TVIterator为抽象迭代器类,具体迭代器类SkyworthIterator和TCLIterator中定义了各自的访问遍历的方法。
界面
相关代码
//抽象聚合类
public interface Television {
TVIterator createIterator();
}
//具体聚合类
public class TCLTelevision implements Television{
public Object[] obj={
"频道1","频道2","频道3","频道4","频道5"};
public TVIterator createIterator()
{
return new TCLIterator(this);
}
}
public class SkyworthTelevision implements Television{
public Object[] obj = {
"CCTV-1", "CCTV-2", "CCTV-3", "CCTV-4"};
public TVIterator createIterator()