JBuilder2005实现重构之类继承体系间
http://tech.ddvip.com 2006年11月28日 社区交流
本文详细介绍JBuilder2005实现重构之类继承体系间
面向对象的一个重要特性即是子类共享父类的代码,所以当你发现子类的方法或值域是共享性的代码时,你就需要着手将这些代码推到父类中去了,这样代码的复用性将得到提升。
2、搬迁值域
Animal类中有两个值域:
1. protected int weight ;
2. protected int volume = weight ;我们希望将volume下移到子类Cat中,光标定位到volume处:Ctrl+Shift+R>Push Down Field调出下移值域的对话框:

图 18 下移值域
·Field:需下移的值域。
·Select subclasses:当前类的子类。在默认情况下,值域下移到所有的子类中,可以通过子类前的复选框作出选择,这里我们去除Horse类前的勾选,即仅下移到Cat中。
·Select dependent members to move:和下移值域相关的所有值域,JBuilder通过下移值域右边的赋值语句找出所有关联的值域,通过关联值域前的复选框决定是否需要一起下移到子类。默认情况下,JBuilder将关联的属性weight随volume一起下移。
按OK后完成下移。编译工程,打开Horse.java,我们执行下移值域的反操作:上推值域到Animal类中。
光标定位在Horse.java的volume值域处:Ctrl+Shift+R->Pull Up Field调出上推值域对话框,如下图所示:

图 19
上推值域
点击OK后,volume值域被上推到Horse父类Animal中。
提示:
遗憾的是,JBuilder上推值域并不会像下移值域一样列出所有相关值域,只是简单的将值域声明代码行上推到父类中。所以如果在值域的定义代码行中引用了类中其它的值域,在上推到父为中时,将会发生语法错误,需要你手工解决。
责编:豆豆技术应用