遍历主要用于遍历元素的操作,如对数组中的每一个元素都要操作,这个情况下我们就可以使用迭代器
interface Demo//这里描述了提供给开发者的接口
{
public function fn1();
public function fn2();
public function fn3();
}
interface Demo2 extends Demo//这一步是为了隐藏接口的具体实现
{
public function fn4();
}
class Demo3 implements Demo//用户可以自己调用这些方法来实现对这些对象的处理
{
public function fn4()
{
echo 'function 2';
}
public function fn1(){}
public function fn2(){}
public function fn3(){}
}
$demo3 = new Demo3();
//$demo3->fn4()
我的认识是程序里面提供接口,而且我们可以自己定义算法来实现,所以有人说用得好可以提升效率
上面的理解可能不全,我把向大牛请教的理解贴出来,其实也是简单的东西
<span style="font-size:18px;color:#cc0000;"><?php
class myIterator implements Iterator
{
public $position = 0 ;
public $arr = array('one','two','three','four','five','six');
public function __construct()
{
$this->position = 0;
}
public function rewind()
{
var_dump(__METHOD__);
$this->position = 0 ;
}
public function current()
{
var_dump(__METHOD__);
return $this->arr[$this->position] ;
}
public function key()
{
var_dump(__METHOD__);
return $this->position;
}
public function next()
{
var_dump(__METHOD__);
++$this->position;
}
public function valid()
{
var_dump(__METHOD__);
return isset($this->arr[$this->position]);
}
}
$it = new myIterator;
foreach($it as $key=>$value)
{
var_dump($key,$value);
echo "\n";
}</span>