concreteiterator.java

来自「Java设计模式(GOF)代码样例以及文档说明」· Java 代码 · 共 68 行

JAVA
68
字号
/*
 * 项目名称 Pattern
 * 包名称   com.niufish.pattern.iterator
 * 
 * 文件名称 ConcreteIterator.java
 * 
 */
package com.niufish.pattern.iterator;

/**
 * 具体迭代子角色
 * <p>
 * <a href="ConcreteIterator.java.html"><i>View Source</i></a>
 * </p>
 * @author  Kingfish
 * @version 1.0
 */
public class ConcreteIterator implements Iterator {
    
    /**
     * 持有的具体聚集对象
     */
    private ConcreteAggregate _cagg;
    
    /**
     * 聚集索引
     */
    private int _index = 0;
    
    /**
     * 初始化具体聚集对象
     * @param cagg 具体聚集对象
     */
    public ConcreteIterator(ConcreteAggregate cagg){
        _cagg = cagg;
    }

    /**
     * @see com.niufish.pattern.iterator.Iterator#first()
     */
    public void first() {
        _index = 0;
    }

    /**
     * @see com.niufish.pattern.iterator.Iterator#next()
     */
    public void next() {
        if (_index < _cagg.size())
            _index++;
    }

    /**
     * @see com.niufish.pattern.iterator.Iterator#isDone()
     */
    public boolean isDone() {
        return (_index >= _cagg.size());
    }

    /**
     * @see com.niufish.pattern.iterator.Iterator#currentItem()
     */
    public Object currentItem() {
        return _cagg.getElement(_index);
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?