Pull Members Up
Basics
The Pull Members Up refactoring allows you to move class members to a superclass .
Pull Members Up refactoring can create abstract methods. If a project makes use of the interpreter Python 2.x, then only the instance methods can be abstracted. If a project uses Python 3.x, then any method can be abstracted.
Note that PyCharm automatically adds import statements, required for abstract methods.
Example
Before | After |
---|---|
class SuperClass:
def super_method(self):
pass;
class SubClassOne(SuperClass):
def my_method(self):
pass
|
class SuperClass:
def super_method(self):
pass;
def my_method(self):
pass;
class SubClassOne(SuperClass):
pass
|
class Bar(object):
pass;
class SomeClass (Bar):
def foo(self):
pass
| from abc import abstractmethod
from abc import ABCMeta
class Bar(object, metaclass=ABCMeta):
@abstractmethod
def foo(self):
pass;
class SomeClass (Bar):
def foo(self):
pass
|
Pulling members up
To pull members up
- Select the class to be moved to a superclass.
- On the main menu or on the context menu, choose Pull Members Up dialog box appears. . The
- Select the destination object (superclass).
- In the Members section, select the members you want to move.
- To move a method as abstract, select the check box in the column Make abstract next to the method in question.
- Click Refactor to pull the selected members to their destination.
See Also
Procedures:
Reference:
Last modified: 20 April 2016