国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JBuilder2005實現重構之類繼承體系間

2019-11-17 06:01:01
字體:
來源:轉載
供稿:網友

  在JBuilder中通過重構將值域、方法在類的繼續體系中上推下移,是非常輕易的操作。這了說明這種重構功能,我們先來看下面的類繼續體系:

JBuilder2005實現重構之類繼續體系間(圖一)
圖 15 類的繼續類圖

  Animal類是Cat和Horse和父類,Animal中包含了兩個值域和一個方法。可以將Animal中的值域有選擇地下移到某個子類中。此外,還可以為Animal提煉超類和接口。

  1、搬遷方法

  打開Animal.java并將光標定位到howl()方法處,通過Ctrl+Shift+R->Push Down Method調出下移方法對話框:

JBuilder2005實現重構之類繼續體系間(圖二)
圖 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調出上推的對話框:

JBuilder2005實現重構之類繼續體系間(圖三)
圖 17

  上推方法

  假如需上推的方法引用到了類中的其他方法,這些被引用的方法列在Select dependent members to moves列表中,一般情況下你需要將這些被引用的方法一起上移到父類中。

  面向對象的一個重要特性即是子類共享父類的代碼,所以當你發現子類的方法或值域是共享性的代碼時,你就需要著手將這些代碼推到父類中去了,這樣代碼的復用性將得到提升。

  2、搬遷值域

  Animal類中有兩個值域:

1. protected int weight ;
2. protected int volume = weight ;
  我們希望將volume下移到子類Cat中,光標定位到volume處:Ctrl+Shift+R>Push Down Field調出下移值域的對話框:

JBuilder2005實現重構之類繼續體系間(圖四)
圖 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調出上推值域對話框,如下圖所示:

JBuilder2005實現重構之類繼續體系間(圖五)
圖 19

  上推值域

  點擊OK后,volume值域被上推到Horse父類Animal中。

  提示:

  遺憾的是,JBuilder上推值域并不會像下移值域一樣列出所有相關值域,只是簡單的將值域聲明代碼行上推到父類中。所以假如在值域的定義代碼行中引用了類中其它的值域,在上推到父為中時,將會發生語法錯誤,需要你手工解決。 QQread.com 推出各大專業服務器評測 linux服務器的安全性能

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南通市| 康乐县| 开远市| 河曲县| 富阳市| 会同县| 绥芬河市| 明星| 双鸭山市| 金湖县| 枣庄市| 汤原县| 金门县| 绍兴市| 五大连池市| 达州市| 乐都县| 神木县| 通山县| 孝义市| 武山县| 新竹市| 栖霞市| 邵阳县| 凤山市| 西藏| 舞钢市| 独山县| 元谋县| 华宁县| 梁山县| 新安县| 自治县| 甘谷县| 新田县| 屏南县| 汕头市| 嘉祥县| 平舆县| 来安县| 平江县|