【发布时间】:2012-07-07 03:08:28
【问题描述】:
我正在尝试了解有关 ArrayObject 和 ArrayIterator 类的一些信息
ArrayObject:该类实现了IteratorAggregate 和Traversable 接口。既然IteratorAggregate扩展了Traversable本身,为什么ArrayObject可以同时实现IteratorAggregate呢?
ArrayIterator:如上,这个类实现了Iterator和Traversable,Iterator扩展了。
当这些类可以实现扩展Traversable 的接口时,为什么要实现两个接口?
【问题讨论】:
-
我怀疑这些链接只是为了使手册更清晰,更可遍历(ha)-具有讽刺意味的是,在您的情况下,这似乎产生了完全相反的效果。我认为您是正确的,更正确的说法是它们分别实现了
IteratorAggregate和Iterator接口。 -
...尽管it would seem 你可以用这种看似矛盾的方式编写代码,PHP 不会抱怨。
-
我认为 Java 也不会抱怨,但尚未对其进行测试。这就像声明未经检查的异常:多余但不是错误。
标签: php spl arrayobject arrayiterator