Это кажется, что должно быть довольно просто, но я не вижу ничего очевидного. На что я в основном хочу сделать это, чтобы указать на метод и осуществить рефакторинг-> класс извлечения. Это взяло бы рассматриваемый метод к новому классу с тем методом как высокоуровневая общественность API. Рефакторинг также перетащил бы любые требуемые методы и переменные наряду с ним к новому классу, удалив их из старого класса, если ничто иное в старом классе не использует его.
Это - повторяющаяся задача, с которой я часто встречаюсь при рефакторинге унаследованного кода. Так или иначе я в настоящее время использую Eclipse 3.0.2, но все еще интересовался бы ответом если его доступное в более поздней версии затмения.Спасибо!
Я не думаю, что такого рода рефакторинг существует.
Ошибка 225716 регистрируется для такого рода функций (с начала 2008 г.).
Ошибка 312347 также была бы хорошей реализацией такого рефакторинга.
«Создайте новый класс и переместите соответствующие поля и методы из старого класса в новый класс.»
Я упоминаю обходной путь в этом ответе SO .
Вы пробовали Move
в группе Refactor
? Вы можете создать вспомогательный класс и переместить туда все, что захотите.
Похоже, это должно быть справедливо прямолинейно ...
На самом деле, Extract Class - один из наиболее сложных рефакторингов. Даже в вашем простом примере перемещения одного метода и его зависимостей возможны сложности:
Вот почему я призываю всех проголосовать за исправление ошибки 312347 .