重构20-Extract Subclass(提取父类)

当一个类中的某些方法并不是面向所有的类时,可以使用该重构将其迁移到子类中。我这里举的例子十分简单,它包含一个Registration类,该类处理与学生注册课程相关的所有信息。

public class Registration {
public NonRegistrationAction action; public Double registrationTotal; public String notes; public String description; public Date registrationDate;
}
当使用了该类之后,我们就会意识到问题所在——它应用于两个完全不同的场景。属性NonRegistrationAction和Notes只有在处理与普通注册略有不同的NonRegistration时才会使用。因此,我们可以提取一个子类,并将这两个属性转移到NonRegistration类中,这样才更合适
public class Registration {
public Double registrationTotal; public String description; public Date registrationDate;
} public class NonRegistration extends Registration{
public NonRegistrationAction action; public String notes;
}
 
 
上一篇:poj 1904(强连通分量+完美匹配)


下一篇:java 正则举例