1

我有一个基类的面向对象结构,大约有 10 个类派生自该基类。我希望对其进行专门化,并且需要更改这 10 个类扩展的类。

所以我有:

B
One extends B
Two extends B
Three extends B
...

我需要将其更改为:

B
B2 extends B
One extends B2
Two extends B2
Three extends B2
...

Intellij 是否具有重构功能,而不是手动遍历这些类,它允许我将所有从 B 派生的类更改为从 B2 派生?

4

2 回答 2

1

您可以进行全局搜索和替换,只需将“扩展 B”更改为“扩展 B2”。

但也有更清洁的方法。

  • 将 B 类重命名为 B2 类,现在都继承自 B2
  • 然后添加“扩展 B”并创建 B 类(可作为快速修复)
  • 从 B2 中运行重构“拉动成员”,选择您想要移动到 B 的任何方法。
于 2015-09-26T15:51:54.307 回答
1

您可以使用结构搜索和替换。搜索:

class $A$ extends B {}

用。。。来代替:

class $A$ extends B2 {}
于 2015-09-27T11:58:07.867 回答