上移成员,下移成员
向上拉取成员 重构允许您将类成员移动到超类。
向上拉取成员 重构可以创建抽象方法。 如果项目使用解释器 Python 2.x,则只有实例方法可以被抽象化。 如果项目使用 Python 3.x,则任何方法都可以被抽象化。
请注意,PyCharm 会自动添加抽象方法所需的 import 语句。
向下推送成员 重构通过将类成员移动到子类来帮助清理类层次结构。 然后,这些成员仅重新定位到直接子类中。
上移成员
选择要移动到超类的类。
从主菜单或上下文菜单中调用 。 上移成员 对话框将会出现。
选择目标对象(超类)。
在 成员 部分中,选择您想要移动的成员。
要将方法作为抽象方法移动,请选中方法旁边 设为抽象 列中的复选框。
单击 重构 以将选定的成员上移到目标位置。
之前 | 之后 |
|---|---|
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
|
下移成员
在编辑器中,打开需要下移成员的类。
从主菜单或上下文菜单中选择 。 下推成员对话框 显示要下移的成员列表。
在 要下推的成员 区域中,选择您想要移动的成员。 请注意,光标所在的成员已被选中。
如果下移成员可能导致问题,您将收到红色高亮的通知。 这意味着,如果情况未被处理,重构后将会出现错误。 PyCharm 会提示您一个“检测到问题”对话框,您可以选择忽略或修复问题。
预览并应用更改。
之前 | 之后 |
|---|---|
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
|
最后修改日期: 2025年 9月 26日