JetBrains Rider 2025.2 Help

提取超类重构

此重构允许您将选定类中的某些成员提取到一个新的基类中。 原始类将继承创建的基类。

如果当前类型已经实现了任何接口,这些接口也可以被提取到新的基类中。

如果您想创建一个抽象类,请将至少一个提取的方法标记为抽象。

在下面的示例中,我们从现有类 形状 中提取了一个抽象类 圆形

public class Circle : IDrawable { public Point Center { get; private set; } public Color MyColor { get; private set; } public int Radius { get; private set; } public void Draw() { // draw... } } public interface IDrawable { void Draw(); }
public abstract class Shape : IDrawable { public Color MyColor { get; private set; } public abstract void Draw(); } public class Circle : Shape { public Point Center { get; private set; } public int Radius { get; private set; } public override void Draw() { // draw... } } public interface IDrawable { void Draw(); }

提取一个基类

  1. 通过以下方式之一选择一个类:

    • 在编辑器中,将插入符号放在类名上。

    • 在 Solution Explorer 中选择一个类。

    • 结构窗口 窗口中选择一个类。

  2. 请执行以下操作之一:

    • Ctrl+Alt+Shift+T 然后选择 提取超类

    • 在主菜单中选择 重构|提取超类

    提取超类 对话框将打开。

  3. 为新的基类指定一个名称,并指定它应该放置的位置——在新文件中或与原始类型在同一文件中。

  4. 选择您想要转移到新基类的成员。 成员列表可能包含:

    • 当前类型的成员

    • 所选类型当前实现的接口

  5. 要使单个成员成为/保持抽象,请勾选 设为 abstract 列中的复选框。 如果至少有一个成员被标记为抽象,则基类也将被创建为抽象类。

  6. 要快速选择所有公共成员,请单击 选择公共 icon_select_public.png Alt+P

  7. 如果您选择的成员引用了其他成员,则在提取的类中会出现未定义的符号。 单击 依赖 通过选择所有依赖于当前选定成员的成员来解决冲突。

  8. 要应用重构,请点击 下一步

  9. 如果未发现冲突,JetBrains Rider会立即执行重构。 否则,它会提示您 解决冲突

JetBrains Rider。 提取超类(基类)重构
最后修改日期: 2025年 9月 26日