Eclipse开发经典教程:代码重构(四)

来源:互联网 发布:春光灿烂猪八戒 知乎 编辑:程序博客网 时间:2024/05/16 05:56
 

类级别重构 

类级别重构有如下一些:

1. Push Down 

“Push Down”重构功能是把父类的方法和属性移动到所有的子类中,父类的方法可以选择性的保留抽象方法。首先选择父类,右键选择Refactor菜单的“Push Down”菜单项,可以通过“Push Down”对话框选择重构,如图8所示。



图8 “Push Down”对话框



“Push Down”重构在重新设计类的时候是非常有用的,它可以比较有较的改善类的继承关系,清楚定义类的行为。 



2. Pull Up 



“Pull Up”重构和“Push Down”重构正好相反,它的作用是把方法和属性移动到其父类中去。选择需要重构的子类,从右键菜单选择Refactor菜单的“Pull up”菜单项,通过“Pull Up”对话框进行重构,如图9所示。



图9 “Pull Up”对话框



提示:“Pull Up”重构和“Push Down”重构后可能会出错,在使用此重构的同时,应该先弄清楚某些方法中是否有引用到其它方法或属性。 



3. Extract Interface 



“Extract Interface”重构能够从一个已存在的类中提取接口,它可以从某个类中选择方法,把这些方法提取到一个单独的接口中。选择提取接口的类,右键选择Refactor菜单的“Extract Interface”菜单项,打开“Extract Interface”对话框,如图10所示。



图10 “Extract Interface”对话框



单元OK按钮,将会提取TestInterface的接口,提取接口后,当前选择的类将会实现此接口。 



提示:只有公用方法才可以被提取为接口的方法。 



4. Generalize Declared Type 



“Generalize Declared Type”重构能够改变变量、参数、属性以及函数的返回值的类型,可以把这些类型改成其父类的类型。在Refactor菜单中选择“Generalize Declared Type”,如图11所示。



图11 “Generalize Declared Type”对话框



单击OK按钮,能够把声明的类型改成当对话框中选择的类型。 



5. User Supertype Where Possible 



“User Supertype Where Possible”重构能够用某一个类的父类的类型替换当前类的类型,选择需要被替换引用的类。在Refactor菜单中选择“User Supertype Where Possible”打开“User Supertype Where Possible”对话框,如图12所示。



图12 “User Supertype Where Possible”对话框



“Generalize Declared Type”重构和“User Supertype Where Possible”重构在面向接口编程方面是很有用的,可以把引用的对象尽可能用接口进行实现。 



提示:“User Supertype Where Possible”重构将替换其它类中的引用,要想看到重构的效果,应该找到其它类引用的位置,此操作不会修改当前文件。

原创粉丝点击