Есть ли способ извлечь класс с помощью методов в eclipse?
Я пытаюсь реорганизовать класс, который у меня есть на 2 класса. К сожалению, функция класса eclipse extract, похоже, поддерживает только переменные, которые действительно не все, что полезно. Есть ли способ извлечь методы или есть плагин, который это делает?
Ответы
Ответ 1
Еще одно решение - CTRL C - CTRL V перевести ваш класс в другой и начать удалять то, что вы не хотите...
Вы можете выбрать несколько элементов в виде структуры нового класса и выбрать "Удалить".
Грубый, но эффективный.
(источник: eclipse.org)
Ответ 2
Рефакторинг "Extract Superclass" гораздо полезнее для этого. Он позволит вам выбрать участников и методы, которые вы хотите, а затем использовать "Добавить обязательно", чтобы добавить любых членов класса, которые необходимы для того, чтобы ваши методы работали.
Ответ 3
В Eclipse 3.7.1 есть возможность переместить методы и поля из класса. Для этого:
- Убедитесь, что целевой класс существует (пустой класс в порядке, до тех пор, пока он существует в проекте).
- В исходном классе выберите методы, которые вы хотите удалить (представление схемы хорошо подходит для этого), щелкните правой кнопкой мыши по выделенной области и выберите "Переместить"
- Выберите класс назначения в раскрывающемся списке /Browse
Теперь ваши участники извлечены. Исправьте любые проблемы видимости (Source > Generate Getters и Setters очень полезны для этого), и все вы настроены.
Ответ 4
В настоящее время я прибегал к использованию "методов копирования и удаления", как описано выше, или с помощью IntelliJ Extract Class, который действительно перемещает оба метода и классы, хотя и с ошибкой.
Я надеюсь, что другие будут голосовать за исправление ошибки https://bugs.eclipse.org/bugs/show_bug.cgi?id=312347. Мне бы очень хотелось, чтобы Eclipse имел полностью функционирующий класс экстрактов.
Ответ 5
В Eclipse (Luna 4.4.0) теперь есть опция "Извлечение метода..." в контекстном меню Refactor.