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 |
---|---|
class SuperClass: def super_method(self): pass class SubClassOne(SuperClass): def my_method(self): pass class SubClassTwo(SuperClass): def my_method(self): pass |
class SuperClass: pass class SubClassOne(SuperClass): def my_method(self): pass def super_method(self): pass class SubClassTwo(SuperClass): def my_method(self): pass def super_method(self): pass |
- In the editor open a class, whose members you need to push down.
- On the main menu, or on the context menu of the editor tab, 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. PyCharm prompts you with a Problems Detected dialog, where you can opt to ignore or fix the problem.
- Preview and apply changes.