为什么要实现两个已经相互扩展的接口?

时间:2012-07-06 16:10:29

标签: php spl arrayobject arrayiterator

我想了解有关ArrayObjectArrayIterator

的内容

ArrayObject :此类实现IteratorAggregateTraversable接口。由于IteratorAggregate扩展了Traversable本身,为什么ArrayObject只能实现IteratorAggregate

ArrayIterator :如上所述,此类实现了Traversable扩展的IteratorIterator

为什么这些类在实现扩展Traversable的接口时可以实现两个接口?

1 个答案:

答案 0 :(得分:1)

根据SPL source code,ArrayObject不直接实现Traversable

class ArrayObject implements IteratorAggregate, ArrayAccess, Countable
{
    ...
}

这匹配SPL documentation。我相信DaveRandom是正确的。

相关问题