문제

나는 2 개의 수업으로 가지고있는 수업을 리팩토링하려고합니다. 불행히도 Eclipse의 추출물 클래스 기능은 실제로 도움이되지 않는 변수 만 지원하는 것 같습니다. 메소드를 추출하는 방법이 있습니까? 아니면 플러그인이 있습니까?

도움이 되었습니까?

해결책

다른 해결책은 다음과 같습니다 ctrl c-Ctrl v 당신의 수업은 다른 수업으로 시작합니다 풀이 당신이 원하지 않는 것 ...

새 클래스의 개요보기에서 여러 요소를 선택하고 삭제를 선택할 수 있습니다.
조잡하지만 효과적입니다.

alt text
(원천: eclipse.org)

다른 팁

"추출 슈퍼 클래스"리팩토링은 이에 훨씬 더 유용합니다. 이를 통해 멤버와 원하는 방법을 선택한 다음 "필요한 추가"를 사용하여 작업을 선택하는 데 필요한 클래스의 멤버를 추가 할 수 있습니다.

Eclipse 3.7.1에는 수업에서 메소드와 필드를 이동할 수있는 옵션이 있습니다. 그렇게하려면 :

  1. 대상 클래스가 존재하는지 확인하십시오 (프로젝트에 존재하는 한 빈 클래스는 괜찮습니다).
  2. 소스 클래스에서 제거 할 메소드 (개요보기는이 경우에 적합)를 선택하고 선택을 마우스 오른쪽 버튼으로 클릭하고 이동을 선택하십시오.
  3. 드롭 다운/탐색에서 대상 클래스 선택

회원이 추출됩니다. 모든 가시성 문제를 해결하십시오 (출처> 생성 게터 및 세터는 이에 매우 유용합니다).

지금은 위에서 설명한대로 "복사 클래스 및 삭제 메소드"를 사용하거나 지적과 클래스를 모두 움직이는 지적과 비록 메소드와 클래스를 모두 움직입니다.

다른 사람들이 버그 수정에 투표하기를 바라고 있습니다 https://bugs.eclipse.org/bugs/show_bug.cgi?id=312347. Eclipse가 완전히 작동하는 추출물 클래스를 갖기를 정말로 원합니다.

Eclipse (Luna 4.4.0)에는 이제 Refactor Context 메뉴의 옵션으로 "추출 방법 ..."가 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top