I am trying to understand something about ArrayObject
and ArrayIterator
classes
ArrayObject
: This class implements the IteratorAggregate
and Traversable
interfaces. Since IteratorAggregate
extends Traversable
itself, why does ArrayObject
implement both when it can just implement IteratorAggregate
?
ArrayIterator
: As above, this class implements both Iterator
and Traversable
which Iterator
extends.
Why do these classes implement two interfaces when they could get away with implementing the one that extends Traversable
?