hand first 设计模式 -迭代器模式
2009-09-17 00:00:00 来源:WEB开发网所有菜单接口
Java代码
public interface Menu {
//创建迭代器
public Iterator createIterator();
}
数组迭代器
Java代码
public class ArrayIterator<T> implements Iterator {
private T[] arr;
private int index = -1;
public ArrayIterator(T[] arr) {
this.arr = arr;
}
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
index++;
if(index>arr.length-1)
return false;
return arr[index] != null;
}
@Override
public T next() {
// TODO Auto-generated method stub
return arr[index];
}
@Override
public void remove() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException();
}
}
测试类--打印所有菜单
Java代码
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test = new Test();
Menu a = new AMenu();
Menu b = new BMenu();
test.printMenu(a,b);
}
private void printMenu(Menu...menus){
for(Menu menu:menus){
Iterator iterator = menu.createIterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
- ››设计模式:工厂方法模式
- ››设计模式一 - Simple Factory, Factory Method, A...
- ››设计模式重构应用---Decorator模式
- ››设计模式重构应用---Template Method模式
- ››hand first 设计模式 - 装饰者模式
- ››hand first 设计模式 - 工厂模式
- ››hand first 设计模式 - 抽象工厂模式
- ››hand first 设计模式 - 单例模式
- ››hand first 设计模式 - 命令模式
- ››hand first 设计模式 -适配器模式
- ››hand first 设计模式 -外观模式
- ››hand first 设计模式 -模板方法模式
更多精彩
赞助商链接