我想了解一些關於ArrayObject
和ArrayIterator
類爲什麼要實現已經相互擴展的兩個接口?
ArrayObject
:這個類實現了IteratorAggregate
和Traversable
接口。由於IteratorAggregate
自身延伸Traversable
本身,爲什麼ArrayObject
實現兩者,它只能實現IteratorAggregate
?
ArrayIterator
:如上所述,這個類實現既Iterator
和Traversable
其中Iterator
延伸。
爲什麼這些類實現兩個接口,當他們可以逃脫實現一個延伸Traversable
?
我懷疑這些鏈接只是爲了讓手冊更清晰,更具可穿透性*(ha) - 在您的案例中具有諷刺意味的是,這似乎具有完全相反的效果。我認爲你是正確的,可以更正確地說他們分別實現了'IteratorAggregate'和'Iterator'接口。 – DaveRandom 2012-07-06 16:17:42
...雖然[看起來](http://codepad.viper-7.com/r4FfNY),你可以用這種看似矛盾的方式編寫你的代碼,PHP不會抱怨它。 – DaveRandom 2012-07-06 16:24:01
我不認爲Java會抱怨,但沒有測試它。這就像聲明未經檢查的異常一樣:多餘但不是錯誤。 – 2012-07-06 16:26:13