我想了解一些关于 ArrayObject
的事情和 ArrayIterator
类
ArrayObject
:此类实现了 IteratorAggregate
和 Traversable
接口(interface)。由于 IteratorAggregate
扩展了 Traversable
本身,为什么 ArrayObject
既可以实现 IteratorAggregate
又可以同时实现这两者?
ArrayIterator
:同上,这个类同时实现了Iterator
和 Traversable
,Iterator
扩展。
当这些类可以实现扩展 Traversable
的接口(interface)时,为什么它们要实现两个接口(interface)?
最佳答案
根据SPL source code , ArrayObject 没有直接实现Traversable
:
class ArrayObject implements IteratorAggregate, ArrayAccess, Countable
{
...
}
这与 SPL documentation 匹配.我相信 DaveRandom 是正确的。
关于php - 为什么要实现两个已经相互扩展的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11365902/