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

2016-02-19 18:36 0 1 收藏

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

【 tulaoshi.com - 编程语言 】


  在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服务器的安全性能

来源:https://www.tulaoshi.com/n/20160219/1618328.html

延伸阅读
过滤器可以在请求到达jsp或Servlet之前或响应返回客户端之前添加一些额外的操作。假如有多个JSP页面和Servlet都需要进行一个相同或相似的操作,我们可以把这个操作抽取到一个Servlet过滤器中,并通过匹配路径截获感爱好JSP或Servlet。 我们举几个典型的过滤器应用的例子,读者可以推而广之: ·编码转换 乱码...
标签: Java JAVA基础
简单的框架 JUnit是由Erich Gamma和Kent Beck开发的开源测试框架,JBuilder集成了这个框架并对此做了扩展。JUnit之所以流行并为广大的开发人员所推崇,一是因为它实战性强,功能强大,二是因为它实在简单。一个产品或框架要能有生命力,最好都具备这样的特点。 简单地讲这个框架提供了许多断言(assert)方法,允...
标签: Java JAVA基础
  通过File->New...->Web->双击JSP图标,弹出创建JSP向导的对话框,如下图所示: 图 3 通过向导创建login.jsp ·Web module:如果一个工程下有多个Web模块,你可以通过这儿指定JSP所要加入到的Web模块,因为我们的工程中只有一个webModule,所以是向导将默认设置为webModule。 ·Name :键入JSP文件名,你可以键入.jsp...
标签: Java JAVA基础
  欢迎页面welcome.jsp 当用户录入正确的密码后,switch.jsp控制JSP页面导向welcome.jsp欢迎页面,在这节里,我们来开发这个welcome.jsp页面。因为welcome.jsp需要使用到一个第三方的标签库,所以在开发welcome.jsp之前需要在JBuilder中作一些配置引入这个标签库。 将第三方标签库配置到JBuilder中 Apache开源组...
标签: Java JAVA基础
  错误处理页面error.jsp Web应用程序一般都有一个或多个统一的错误处理JSP页面,以便在功能性的JSP页面发生错误时,能以一种友好的形式向用户反馈。友好而统一的错误页面是Web展现层一个无可忽略的方面。 下面,我们创建错误处理error.jsp文件,其代码如下所示: 代码清单 11 error.jsp错误处理JSP页面 1. <%@pa...

经验教程

261

收藏

68
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部