Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
您现在的位置: 天极网 > 开发频道 > JBuilder2005实现重构之类继承体系间
全文

JBuilder2005实现重构之类继承体系间

2005-03-24 08:32 作者: 陈雄华 出处: 天极网 责任编辑:方舟
  3、提炼超类

  几个类具有相同的功能时,就需要提炼出一个超类出来。如随着需求的变化,我们不但需要对四脚野兽(Animal)予以关注,还需要对鸟类(Bird)投注关怀,那么在Bird和Animal之上抽象出一个Creature类出来是再适合不过的了。

  打开Animal.java,光标移至类名称Animal处:Ctrl+Shift+R->Introduce Superclass for “Animal” 调出提炼超类的对话框,如下图所示:


图 20 提炼超类对话框

  在Superclass name中指定超类名Creature,在Package中指定超类所在的包名,默认为当前类所在的包,按OK按钮,JBuilder创建Creature超类,并使Animal类继承这个超类:

  代码清单 7 Creature超类

1. package myrefactor ;
2.
3. public class Creature
4. {
5.  public Creature()
6.  {
7.  }
8. }

  Animal代码做如下调整

  代码清单 8 提炼超类

1. package myrefactor ;
2.
3. public class Animal extends Creature
4. {
5.  …
6. }

  由于Creature生成后并未编译,所以Animal类在编辑器中会提示语法错误, 出现在控制槽上。你可以通过重构信息窗口的 按钮编译重构相关的类以消除这个语法错误。本文后续内容还会碰到相似的情况,解决方法相同,将不再赘述。

  4、提炼接口

  假设我们需要为动物定义一些共同的习性,可以将类的若干方法提炼出来,用一个接口来表达。打开Animal.java,将光标移到类名Animal处:Ctrl+Shift+R->Extract Interface from Class “Animal”调出提炼接口对话框,如下所示:


图 21 提炼接口对话框

  ·Interface name:接口名称,填入Habitable。

  ·Package:包名,接受默认值。

  ·Available methods:JBuilder将Animal类中所有的public方法列在该列表中,你可以选择需要将哪些方法抽取到接口中。

  点击OK完成Habitable接口的提炼。JBuilder创建Habitable接口,并使Animal实现这个接口。

  代码清单 9 Habitable接口

1. package myrefactor ;
2.
3. public interface Habitable
4. {
5.  public void howl() ;
6. }

  Animal类调整如下:

  代码清单 10 提炼接口

1. package myrefactor ;
2. public class Animal extends Creature implements Habitable
3. {
4.  …
5. }

  假设你仅希望将类中的某个方法提炼到一个接口中,你可以直接将光标移至方法名处:Ctrl+Shift+R->Extract to Interface Method更直接地完成这个操作。
共2页。 9 1 2
网友关注
最新上市
编辑推荐
文章阅读排行
周排行
月排行
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml