3

私はクラスについて何かArrayObjectを理解しようとしていますArrayIterator

ArrayObject:このクラスは、IteratorAggregateおよびTraversableインターフェイスを実装します。それ自体をIteratorAggregate拡張するので、それがちょうど実装できるのにTraversable、なぜ両方を実装するのですか?ArrayObjectIteratorAggregate

ArrayIterator:上記のように、このクラスはIteratorと拡張の両方を実装Traversableします。Iterator

これらのクラスが拡張するインターフェイスの実装を回避できるのに、なぜこれらのクラスは2つのインターフェイスを実装するのTraversableですか?

4

1 に答える 1

1

SPL ソース コードによると、ArrayObject はTraversable直接実装していません。

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

これは、 SPL のドキュメントと一致します。私は DaveRandom が正しいと信じています。

于 2012-07-06T16:27:23.477 に答える