码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-08-19 09:46:22      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

当一个类中的某些方法并不是面向所有的类时,可以使用该重构将其迁移到子类中。我这里举的例子十分简单,它包含一个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;
}
 
 





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

标签:

原文地址:http://www.cnblogs.com/jgig11/p/5786346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!