Question

J'essaie de refactoriser une classe que j'ai en 2 classes. Malheureusement, la fonction d'extraction de la classe eclipse ne semble prendre en charge que les variables, ce qui n'est pas vraiment utile. Existe-t-il un moyen d'extraire les méthodes ou existe-t-il un plugin qui le fait?

Était-ce utile?

La solution

Une autre solution consiste à CTRL C - CTRL V dans une autre classe et à commencer par supprimer ce que vous ne voulez pas. .

Vous pouvez sélectionner plusieurs éléments dans la vue hiérarchique de la nouvelle classe et sélectionner Supprimer.
Brut mais efficace.

 alt text
(source: eclipse.org )

Autres conseils

La " Extract Superclass " la refactorisation est beaucoup plus utile pour cela. Cela vous permettra de choisir les membres et les méthodes de votre choix, puis d'utiliser " Add Required " d'ajouter tout membre de la classe nécessaire pour que les méthodes que vous avez choisies fonctionnent.

Dans Eclipse 3.7.1, il existe une option permettant de déplacer des méthodes et des champs hors d’une classe. Pour ce faire:

  1. Assurez-vous que la classe de destination existe (la classe vide convient, tant qu'elle existe dans le projet).
  2. Dans la classe source, sélectionnez les méthodes que vous souhaitez supprimer (la vue hiérarchique convient parfaitement à cela), cliquez avec le bouton droit de la souris sur la sélection et choisissez Déplacer
  3. .
  4. Sélectionnez la classe de destination dans le menu déroulant / Parcourir

Vos membres sont maintenant extraits. Résolvez les problèmes de visibilité (il est très utile de générer des getters et des setters) et vous êtes prêts.

À l’heure actuelle, j’ai eu recours à " méthodes de classe de copie et de suppression " comme décrit ci-dessus ou en utilisant Extract Class d'IntelliJ, qui déplace les méthodes et les classes, bien que de manière anormale.

J'espère que d'autres voteront pour la résolution du bogue https: // bugs.eclipse.org/bugs/show_bug.cgi?id=312347 . J'aimerais vraiment qu'Eclipse ait une classe d'extraits pleinement fonctionnelle.

Eclipse (Luna 4.4.0) contient désormais "Extract Method ...". en option dans le menu contextuel Refactor.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top