Push Members Down
The Push Members Down refactoring helps clean up the class hierarchy by moving class members to a subclass. The members are then relocated into the direct subclasses only.
Example
Before | After |
---|---|
Pushing members down
- In the editor, open the class whose members you need to push down.
- On the main menu or on the context menu, choose Push Members Down dialog box displays the list of members to be pushed down. .
- In the Members to be pushed down area, select the members you want to move. Note that the member at caret is already selected.
If pushing a member might cause problems, you will be notified with red highlighting. It means that, if the situation is unattended, an error will emerge after refactoring. CLion prompts you with a Problems Detected dialog, where you can opt to ignore or fix the problem.
- Preview and apply changes.
Pushing down the dependant members
Let's consider the following sample of code: As you can see, variabled2
here depends on array a
. If you apply Push Members Down refactoring to the above class and try to select a
to be moved, and leave d2
in the base class class, CLion highlights the problem member in Pull Members Down dialog, as following: Trying to proceed with extract, you will get the following warning message:
Choose Continue to ignore the problem and proceed with refactoring, or Cancel to return back and resolve it. Also you can observe the conflict in Find Tool Window.