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.
