在JBuilder中通过重构将值域、方法在类的继承体系中上推下移,是非常容易的操作。这了说明这种重构功能,我们先来看下面的类继承体系:
图15 类的继承类图
Animal类是Cat和Horse和父类,Animal中包含了两个值域和一个方法。可以将Animal中的值域有选择地下移到某个子类中。此外,还可以为Animal提炼超类和接口。
1、搬迁方法
打开Animal.java并将光标定位到howl()方法处,通过Ctrl+Shift+R->Push Down Method调出下移方法对话框:
图16 下移方法
·Method:下移的方法。
·Keep as abstract in current class:表示在下移方法的同时将类转为抽象类。
·Selected subclasses:列出当前类的所有子类,默认情况下方法将下移到所有子类中,我们取消Cat,仅将howl()下移到Horse中。
方法howl()中引用到Animal类的一个私有变量private int volume,在下移howl()后,该变量变为protected int volume。
上推和下移是相反的操作,负责将子类中的方法推到父类中去。保存并重新编译工程,打开Horse.java将光标置到howl()方法处:Ctrl+Shift+R->Pull Up Method调出上推的对话框:
图17
时间: 2025-01-21 00:45:37