Extract类Eclipse IDE重构功能如何有用?

时间:2014-05-19 16:54:34

标签: java eclipse refactoring

我遇到了一个重构功能,当我学习eclipse和java时,它看起来很有用。但我不确定这是如何有用的。是否有一种模式可以从这种重构中受益?这个重构选项基本上将所有变量提取到另一个类中,该类的名称已更改为在末尾附加Data

任何关于这种重构给我们提供什么/为什么的例子都会非常有用。

提前谢谢。

2 个答案:

答案 0 :(得分:3)

Extract Class主要用于一个类有太多责任的时候;它试图做太多。它将类拆分为两个单独的类,然后将一些功能转移到另一个类中 - 显然,类之间会存在关系,因为您仍然希望所有代码都能进行交互。

您可以将Extract Class与其他重构模式结合使用,例如Move Method和Move Field,它们会将方法和字段移动到另一个类,使所有代码仍按预期工作。

此链接有一个很好的Extract Class示例:http://sourcemaking.com/refactoring/extract-class

答案 1 :(得分:0)

如果您的课程中有太多字段,并且您发现这必须是额外的课程,则可以使用它。

示例:

public class Person {
    private int age;
    private String name;
    private String street;
    private int streetnumber; 
}

为:

public class Person {
    private int age;
    private String name;
    private Adress data = new Adress(); 
}

public class Address {
    public String street;
    public int streetnumber;

    public Address() {}
}