【发布时间】:2014-12-29 15:51:32
【问题描述】:
我继承了一个只有一个子类的抽象父类,两者都在 单独的文件。
它们又大又丑。而且它们的结构不再正确。 我将把它们重构得更好——但作为其中的一部分,我会 首先喜欢将它们折叠成一个类。 IE。从这样的事情出发:
public abstract class ParentClass implements SomeInterface {
ParenClass(SomeOtherClass v) {
aMember = v;
}
@NonNull final SomeOtherClass aMember;
abstract void doSomething();
// Several hundred lines of other functions and members.
}
public class ChildClass extends ParentClass {
ChildClass(AnotherClass v2) {
super(v2.getSomething());
this.childMember = v2.somethingElse();
}
@NonNull final SomeOtherClass aMember;
@Override void doSomething() {
//...
}
// Several hundred lines of other functions and members
}
到两个类的合并版本(实际上可以命名为 原来的类虽然......)
public class MergedParentAndChild implements SomeInterface {
JustOneClass(AnotherClass v2) {
this.aMember = v2.getSomething();
this.childMember = v2.somethingElse();
}
void doSomething() {
//...
}
// Lots of other functions etc.
}
我已经在所有成员上使用“上拉”重构手动完成了这项工作,但这很耗时,因为 它让构造函数出错,并且在最终成员和抽象函数等方面存在问题。
也许 Eclipse 可能有一种快速的方法可以直接在其重构列表中执行此操作。就是找不到。
有没有快速简便的方法来做到这一点?
【问题讨论】:
-
你需要重构什么?抱歉,来晚了,我好像想不通XD
-
我正在尝试用一个类替换不必要的两个类层次结构。分离成父类和子类是不合适的(或不再合适)并且妨碍了进一步的重构。我可以手动完成,或者在每个函数/字段上使用“上拉”重构,一个接一个,但不幸的是有很多成员,以及有类似问题的大量类。
-
我的回答是否令人困惑? XD对不起,如果是
标签: java eclipse refactoring