Как я могу добавить интерфейс с реализациями делегата к классу? - PullRequest
1 голос
/ 29 февраля 2012

Какой самый быстрый способ в Eclipse реализовать новый интерфейс и сгенерировать реализации делегата для существующего класса?

Например, учитывая существующий класс Foo, предположим, я хочу, чтобы он реализовал Iterator<Integer> с использованием делегата Iterator<Integer>.

1 Ответ

4 голосов
/ 29 февраля 2012
  1. Добавьте поле делегата Iterator<Integer> и implements Iterator<Integer> к foo следующим образом:

    public class Foo implements Iterator<Integer> {
       Iterator<Integer> iterator;
    }
    
  2. Выберите исходное меню и затем «Сгенерировать методы делегата».

  3. Установите флажок итератора и нажмите OK. Полученный код будет выглядеть следующим образом (в зависимости от настроек форматирования).

    public class Foo {
       Iterator<Integer> iterator;
    
       public boolean hasNext() { return iterator.hasNext(); }
       public Integer next() { return iterator.next(); }
       public void remove() { iterator.remove(); }
    }
    
...