public class Client{ public static void display(Television tv) { TVIterator i=tv.createIterator(); System.out.println("电视机频道:"); while(!i.isLast()){ System.out.println(i.currentChannel().toString()); i.next(); } } public static void reverseDisplay(Television tv){ TVIterator i=tv.createIterator(); i.setChannel(5); System.out.println("逆向遍历电视机频道:"); while(!i.isFirst()) { i.previous(); System.out.println(i.currentChannel().toString()); } } public static void main(String a[]){ Television tv; tv = (Television)XMLUtil.getBean(); display(tv); System.out.println("--------------------------"); reverseDisplay(tv); } }
时间: 2024-02-26 16:56:17 浏览: 139
这段代码是一个迭代器模式的实现例子,其中包括一个Client类和一个Television类,Television类实现了Iterator接口,Client类通过Television类的createIterator方法获取到TVIterator对象,然后通过遍历TVIterator对象来打印电视机频道。其中,reverseDisplay方法实现了逆向遍历电视机频道的功能。通过XMLUtil.getBean方法获取到的Television对象可能是不同的具体子类对象,这样可以动态地改变电视机频道的实现方式。
阅读全文