PyCharm Edu 3.0 Help

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 Edu automatically adds import statements, required for abstract methods.

Example

BeforeAfter
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

  1. Select the class to be moved to a superclass.
  2. On the context menu, choose Refactor | Pull Members Up. The Pull Members Up dialog box appears.
  3. Select the destination object (superclass).
  4. In the Members section, select the members you want to move.
  5. To move a method as abstract, select the check box in the column Make abstract next to the method in question.
  6. Click Refactor to pull the selected members to their destination.

See Also

Last modified: 30 August 2016