zoukankan      html  css  js  c++  java
  • 迭代器模式 循环数组

    <?php
    /**
     * Created by PhpStorm.
     * User: Jiang
     * Date: 2015/6/8
     * Time: 21:31
     */
    
    //抽象迭代器
    abstract class IIterator
    {
        public abstract function First();
        public abstract function Next();
        public abstract function IsDone();
        public abstract function CurrentItem();
    }
    
    //具体迭代器
    class ConcreteIterator extends IIterator
    {
        private $aggre;
        private $current = 0;
        public function __construct(array $_aggre)
        {
            $this->aggre = $_aggre;
        }
        //返回第一个
        public function First()
        {
            return $this->aggre[0];
        }
    
        //返回下一个
        public function  Next()
        {
            $this->current++;
            if($this->current<count($this->aggre))
            {
                return $this->aggre[$this->current];
            }
            return false;
        }
    
        //返回是否IsDone
        public function IsDone()
        {
            return $this->current>=count($this->aggre)?true:false;
        }
    
        //返回当前聚集对象
        public function CurrentItem()
        {
            return $this->aggre[$this->current];
        }
    }
    
    
    
    //--------------------------迭代器模式-------------------
    $iterator = new ConcreteIterator(array('周杰伦','王菲','周润发'));
    $item = $iterator->First();
    echo $item."<br/>";
    while(!$iterator->IsDone())
    {
        echo "{$iterator->CurrentItem()}:请买票!<br/>";
        $iterator->Next();
    }
  • 相关阅读:
    【bozj2287】【[POJ Challenge]消失之物】维护多值递推
    书籍
    图书管理系统-单表的增删改查
    Django之ORM
    app的创建和注册
    登陆示例
    django 静态文件配置
    安装django及配置
    Bootstrap
    导图
  • 原文地址:https://www.cnblogs.com/jiufen/p/4991557.html
Copyright © 2011-2022 走看看