11.7 extract superclass (提炼超类)

来源:互联网 发布:mac下载iphone应用 编辑:程序博客网 时间:2024/05/16 10:41

两个类有相似特性

为这两个类新建一个超类,将相同特性移至超类。

动机:

两个类以相同的方式做类似的事情,或者以不同的方式做类似的事情。

做法:

为原本得类新建一个空白的抽象超类。

运用pull up field,pull up method和pull up constructor body逐一将子类的共同元素上移到超类。

检查留在子类中的函数,看它们是否还有共通成分。如果有,可以使用extract method将共通部分再提炼出来,然后使用pull up method将提炼出的函数上移到超类。如果各个子类中某个函数的整体流程相似,可以使用form template method。

原创粉丝点击