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

晶晶1136482136

晶晶1136482136

2016-02-19 18:36

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐JBuilder2005实现重构之类继承体系间,赶紧看过来吧!

  在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
  上推方法
  
  假如需上推的方法引用到了类中的其他方法,这些被引用的方法列在Select dependent members to moves列表中,一般情况下你需要将这些被引用的方法一起上移到父类中。
  
  面向对象的一个重要特性即是子类共享父类的代码,所以当你发现子类的方法或值域是共享性的代码时,你就需要着手将这些代码推到父类中去了,这样代码的复用性将得到提升。
  
  2、搬迁值域
  
  Animal类中有两个值域:
  
  1. protected int weight ;
  2. protected int volume = weight ;
  我们希望将volume下移到子类Cat中,光标定位到volume处:Ctrl+Shift+RPush 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上推值域并不会像下移值域一样列出所有相关值域,只是简单的将值域声明代码行上推到父类中。所以假如在值域的定义代码行中引用了类中其它的值域,在上推到父为中时,将会发生语法错误,需要你手工解决。 QQread.com 推出各大专业服务器评测 Linux服务器的安全性能
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
JBuilder2005实现重构之类继承体系间

JBuilder2005实现重构

Web开发
JBuilder2005实现重构

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JBuilder2005实现重构之杂项重构

编程语言 网络编程
JBuilder2005实现重构之杂项重构

JBuilder2005实现重构之升级到JDK5.02

编程语言 网络编程
JBuilder2005实现重构之升级到JDK5.02

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用JBuilder 2005实现重构之认识重构

编程语言 网络编程
用JBuilder 2005实现重构之认识重构

JBuilder2005 Servlet开发之自启动

编程语言 网络编程
JBuilder2005 Servlet开发之自启动

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

VB利用API函数设定屏幕颜色数

VB利用API函数设定屏幕颜色数

C++开发常用工具“群英会”

C++开发常用工具“群英会”
下拉加载更多内容 ↓