SPL迭代器接口(一)—Traversable Interface

Traversable Interface:无法被单独实现的基本抽象接口,其他的迭代器接口都直接或间接继承自该接口。

  Traversable接口其实不是一个接口,更像是一个特性。因为只有用C语言编写的内部类才可以直接实现Traversable接口。任何需要实现Traversable接口的自定义类都通过实现从Traversable派生出来的的用户自定义接口才能做到。

简单点来说,就是如果你是写PHP代码的,那么Traversable跟你关系不大,因为你写的类无法直接实现Traversable接口(直接实现会报错)。

Traversable接口是给用C语言写PHP扩展的人准备的,只有C写的类才能直接实现Traversable接口。

所以对于PHPer来说,我们更应该关注的是SPL两个派生自Traversable接口的基础级别接口,Iterator接口和IteratorAggregate接口。这两个接口才是你写的类可以直接实现的。

Traversable接口直接实现会报错:

class MyTraversable implements Traversable{}

来源:慕课手记 https://www.imooc.com/article/17894

转载请注明出处:https://www.onexin.net/spl-traversable-interface/

相关文章:

1、SPL迭代器接口(六)—RecursiveIterator Interface
https://www.onexin.net/spl-recursiveiterator-interface/

2、SPL迭代器接口(五)—OuterIterator Interface
https://www.onexin.net/spl-outeriterator-interface/

3、SPL迭代器接口(四)—IteratorAggregate Interface
https://www.onexin.net/spl-iteratoraggregate-interface/

4、SPL迭代器接口(三)—SeekableIterator Interface
https://www.onexin.net/spl-seekableiterator-interface/

5、SPL迭代器接口(二)—Iterator Interface
https://www.onexin.net/spl-iterator-interface/

Leave a Reply