表1.1 类,接口一览表
名称 |
说明 |
Aggregate |
表示已聚合的接口 |
Iterator |
执行递增,遍历的接口 |
Book |
表示书籍的类 |
BookShelf |
表示书架的类 |
BookShelfIterator |
扫描书架的类 |
Main |
测试用类 |
这个程序是把书籍(Book)放到书架(BookShelf)上,并依次输出书名。
Aggregate接口(Aggregate.java)<o:p></o:p>
- public interface Aggregate {
- public abstract Iterator iterator();
- }
Iterator 接口(Iterator.java)<o:p></o:p>
- public interface Iterator {
- public abstract boolean hasNext();
- public abstract Object next();
- }
Book类(Book.java) <o:p></o:p>
- public class Book
- {
- private String name = "";
- public Book(String name) {
- this.name = name;
- }
- public String getName() {
- return name;
- }
- }
BookShelf类(BookShelf.java)<o:p></o:p>
- public class BookShelf implements Aggregate {
- private Book[] books;
- private int last = 0;
- public BookShelf(int maxsize) {
- this.books = new Book[maxsize];
- }
- public Book getBookAt(int index) {
- return books[index];
- }
- public void appendBook(Book book) {
- this.books[last] = book ;
- last++;
- }
- public int getLength() {
- return new BookShelfIterator(this);
- }
- }
-
BookShelfIterator类
- public class BookShelfIterator implaments Iterator {
- private BookShelf bookShelf;
- private int index;
- public BookShelfIterator (BookShelf boofShelf) {
- this.bookShelf = bookShelf;
- this.index = 0;
- }
- public boolean hasNext () {
- if(index < bookShelf.getLength()) {
- return true;
- }else {
- return false;
- }
- }
- public Object next () {
- Book book = bookShelf.getBookAt(index);
- index++;
- return book;
- }
- }
Main.java 测试类
- public class main{
- public static void main(String[] args) {
- BookShelf bookShelf = new BookShelf(2);
- bookShelf.appendBook(new Book("Around the World in 80 days"));
- bookShelf.appendBook(new Book("Bible"));
- Iterator it = bookShelf.iterator();
- while(it.hasNext()) {
- Book book = (Book)it.next();
- System.out.println(""+book.getName());
- }
- }
- }
分享到:
- 2007-01-16 09:56
- 浏览 2240
- 评论(1)
- 论坛回复 / 浏览 (1 / 3454)
- 查看更多
相关推荐
迭代器模式是软件设计模式中的一种行为模式,它在编程中扮演着重要的角色,尤其是在处理集合数据时。迭代器模式的核心思想是提供一种方法来顺序访问聚合对象的元素,而无需暴露其底层表示。这种模式使得用户可以在不...
迭代器模式是软件设计模式中的一种行为模式,它在C#等面向对象编程语言中有着广泛的应用。这个模式的主要目标是允许用户遍历一个聚合对象(如数组、集合或列表)的所有元素,而无需了解底层的实现细节。下面将详细...
迭代器模式是23种设计模式之一,属于行为型模式。它提供了一种访问聚合对象元素的方式,而不需要暴露该对象的内部实现。迭代器模式的主要目的是让开发者能够轻松地遍历聚合对象中的元素,而不需要关心对象的内部实现...
迭代器模式是软件设计模式中的一种行为模式,它允许我们顺序访问聚合对象的元素,而无需暴露其底层表示。在编程中,特别是面向对象编程中,迭代器模式扮演着非常重要的角色,它提供了统一的接口来遍历各种集合类型,...
根据提供的文件信息,我们可以深入探讨迭代器(Iterator)这一设计模式在Java中的应用与实现细节。迭代器模式是一种常用的设计模式,它允许我们以一种顺序访问集合对象的方式遍历其元素,而无需暴露该对象的内部表示...
在“设计模式之迭代器模式(新)”中,我们将深入探讨这种模式的核心概念、实现方式以及它在实际编程中的应用。 迭代器模式的主要角色包括: 1. **聚合对象**(Aggregate):它定义一个接口来访问和管理其内部元素...
迭代器模式是软件设计模式中的行为模式之一,它在C++编程中有着广泛的应用。这个模式提供了一种方法来顺序访问聚合对象的元素,而无需暴露其底层表示。通过迭代器,用户可以遍历集合中的所有元素,而无需知道如何...
迭代器模式(Iterator Pattern)是Java设计模式中的行为模式之一,它提供了一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。在Java中,迭代器模式被广泛应用于集合类,如ArrayList、LinkedList等,通过...
迭代器模式(Iterator Pattern)又称为游标(Cursor)模式,是行为型设计模式之一。该模式的主要目的是提供一种方法顺序访问一个容器对象中的各个元素,而又不需要暴露该对象的内部表示。 一、迭代器模式的概念 ...
C#面向对象设计模式 (行为型模式) Iterator 迭代器模式 视频讲座下载
迭代器模式是软件设计模式中的一种行为模式,它允许我们顺序访问聚合对象的元素,而无需暴露其底层表示。在Java、C#等面向对象语言中,迭代器模式被广泛应用于容器类,如ArrayList、LinkedList等,使得我们可以方便...
### Iterator迭代器详解 #### 一、Iterator简介与概念 在Java编程语言中,`Iterator`接口是一个重要的组件,...无论是从设计模式的角度还是实际应用的角度来看,掌握`Iterator`的工作原理和使用方法都是非常重要的。
### C++设计模式之迭代器(Iterator)模式详解 #### 一、引言 在软件开发过程中,设计模式是解决特定问题的一种通用解决方案。其中,迭代器模式是一种常用的模式,它提供了一种方法来访问一个容器对象中的各个元素...
迭代器模式是软件设计模式中的一种行为模式,它允许我们顺序访问聚合对象的元素,而无需暴露其底层表示。在Java中,迭代器模式广泛应用于集合框架,如List、Set和Map接口,提供了遍历元素的方法。让我们深入探讨这个...
Java设计模式 - 迭代器模式 迭代器模式是一种对象行为型模式,是一种提供一种方法顺序访问一个聚合对象中各个元素,而不用暴露该对象的内部表示的模式。迭代器模式的主要职责是将遍历数据的行为从聚合对象中分离...
迭代器模式是一种行为设计模式,它提供了一种方法来顺序访问聚合对象的元素,而无需暴露其底层表示。这种模式允许我们遍历集合中的每个元素,同时保持集合本身抽象,不需了解其内部结构。 在Java、C#等面向对象语言...
迭代器模式是一种设计模式,它的主要目的是在不暴露容器内部结构的情况下,允许用户遍历容器中的元素。在Java中,这种模式被广泛应用于集合类,如List、Set和Map等,通过Iterator接口来实现对集合的遍历。 迭代器...