问题描述
- 关于Iterator设计模式的问题
-
正如上图所示,有点小疑问。如果我现在想在ArrayList产生的迭代器上增加一个LinkedList
不能实现的方法,此时,方法肯定不能再Iterator抽象接口处增加,那我应该在什么地方
增加这个方法?应该如何增加这个方法?
解决方案
ArrayList的迭代器作为父类,再生成一个子类添加方法
解决方案二:
我的意思是这样的,如果利用迭代器模式,那么在客户端的代码应该是这样的:
List myList = new ArrayList();
Iterator myIterator = myList.interator();
这时客户端得到的是一个Iterator的对象,只能调用Iterator接口中的方法,那么如果我要增加ArrayList产生的迭代器的功能的话,不能在Iterator接口中直接加,因为如果在Iterator接口中直接加的话,就会导致 LinkedList对应的那个Iterator实现类报错, 那我应该怎么处理呢?
解决方案三:
迭代器模式不关心别的方法,它就是指current movenext这两个方法。你添加别的方法和迭代器无关。迭代器接口就是指这两个方法。
时间: 2024-10-28 16:10:54