08/07/01 06:48:49
>>773
簡単な順に、
getFoos()の戻りがIterator<Foo>になるよう実装する。
中身ができてるなら、受け取った後でキャストするだけでもいい。
または、
HogeCollection implements Itarable<Foo> として、実装する。
この場合、イテレタの取得はiterator()で。
または、
HogeCollectionを総称化して、
HogeCollection<E> implementes Itarable<E> として実装する。
この場合、宣言と生成時は
HogeCollection<Foo> h= new HogeCollection<Foo>();
イテレタ取得は iterator();
Collection<E>を実装しないなら、HogeCollectionという命名がすでに紛らわしい。
総称の連鎖は面倒みてるときりがないので、どっかでキャストで断ち切るのも大事。