999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

論如何提高JAVA代碼的可重用性

2017-03-09 09:15:33胡文娟
中國(guó)新通信 2017年2期
關(guān)鍵詞:功能方法

胡文娟

【摘要】 計(jì)算機(jī)軟件開(kāi)發(fā)的代碼重用是一個(gè)終極目標(biāo)。本論文以JAVA軟件開(kāi)發(fā)為例,說(shuō)明了組成支持代碼重用的一種方法的三個(gè)步驟。

【關(guān)鍵詞】 JAVA 代碼重用

一、引言

計(jì)算機(jī)軟件開(kāi)發(fā)的代碼重用是一個(gè)終極目標(biāo),然而,重用可能難以實(shí)現(xiàn),因?yàn)閭鹘y(tǒng)面向?qū)ο缶幊谭椒ㄔ诳芍赜眯苑矫娲嬖谝恍┎蛔恪1菊撐囊訨AVA軟件開(kāi)發(fā)為例,說(shuō)明了組成支持代碼重用的一種方法的三個(gè)步驟。

二、JAVA軟件代碼重用的三個(gè)步驟

第一步

將功能移出類實(shí)例方法:由于類繼承機(jī)制缺乏精確性,因此對(duì)于代碼重用來(lái)說(shuō)它并不是一種最理想的機(jī)制。執(zhí)行單一概念性任務(wù)的任何方法都應(yīng)該是獨(dú)立的,并應(yīng)將其作為要重用的首選方法。

要實(shí)現(xiàn)這一點(diǎn),必須返回到過(guò)程式編程,將代碼移出類實(shí)例方法并將其移入全局可見(jiàn)的過(guò)程中。

在 Java 中,方法不能脫離類而存在。但是,可以使方法成為單個(gè)類的、公共可見(jiàn)的靜態(tài)方法。如可以采用類似下面的一個(gè)類:

class Polygon {..

public int getPerimeter() {...}

public boolean isConvex() {...}

public boolean containsPoint(Point p) {...}

.. }

并將其更改為類似以下的形式:

class Polygon {..

public int getPerimeter() {return pPolygon

computePerimeter(this);}

public boolean isConvex() {return pPolygon.isConvex(this);}

public boolean containsPoint(Point p)

{return pPolygon.containsPoint(this, p);}

..}

以上事例中所實(shí)現(xiàn)效果就是,客戶端代碼不再非要通過(guò)繼承 Polygon 來(lái)重用其功能。現(xiàn)在這一功能在 pPolygon 類中是以過(guò)程為單位提供的。

第二步

將非基本數(shù)據(jù)類型的輸入?yún)?shù)類型轉(zhuǎn)換為接口類型:通過(guò)接口參數(shù)類型而非通過(guò)類繼承利用多態(tài)性,這是在面向?qū)ο缶幊谭椒ㄖ袑?shí)現(xiàn)可重用性的真正基礎(chǔ)。可重用性是通過(guò)編寫(xiě)接口,而不是通過(guò)編寫(xiě)類來(lái)實(shí)現(xiàn)的。

將以上的論述應(yīng)用到第一步的結(jié)果,一旦某個(gè)功能塊可作為一個(gè)全局可見(jiàn)的獨(dú)立過(guò)程,就可以通過(guò)將它的每個(gè)類級(jí)輸入?yún)?shù)類型轉(zhuǎn)換為接口類型,從而進(jìn)一步提高它的可重用性。

例如,假定有一個(gè)全局可見(jiàn)的靜態(tài)方法:

static public boolean contains(Rectangle rect, int x, int y) {...}

該方法旨在判斷給定的矩形是否包含給定的位置。此處應(yīng)該將 rect 參數(shù)的類型從類類型 Rectangle 更改為接口類型,如下所示:

static public boolean contains(Rectangular rect, int x, int y){...}

Rectangular could be the following interface:

public interface Rectangular {

Rectangle getBounds();}

現(xiàn)在,可描述為 Rectangular 的類的對(duì)象都可作為 rect 的參數(shù)傳遞給 pRectangular.contains()。通過(guò)放寬對(duì)可傳遞給方法的參數(shù)的約束來(lái)提高方法的可重用性。

第三步

選擇耦合性較小的輸入?yún)?shù)接口類型:在執(zhí)行第二步時(shí),應(yīng)該選擇能充分描述過(guò)程對(duì)參數(shù)的要求且累贅最少的任何接口來(lái)替代給定的類類型。參數(shù)對(duì)象要實(shí)現(xiàn)的接口越小,任一特定類能實(shí)現(xiàn)該接口的機(jī)會(huì)就越大。如果有如下這樣一個(gè)方法:

static public boolean areOverlapping(Window window1, Window window2) {...}

該方法旨在判斷兩個(gè)(假定為 rectangular)窗口是否重疊,如果該方法僅要求它的兩個(gè)參數(shù)提供它們各自的 rectangular坐標(biāo),則簡(jiǎn)化這兩個(gè)參數(shù)的類型以反映這一事實(shí):

static public boolean areOverlapping(Rectangular rect1, Rectangular rect2) {...}

以上代碼假定前面的 Window 類型對(duì)象也能實(shí)現(xiàn)Rectangular。現(xiàn)在可以重用任何 rectangular 對(duì)象的第一個(gè)方法中所包含的功能。

三、小結(jié)

以上三步旨在改進(jìn)用更傳統(tǒng)的面向?qū)ο蠓椒ň帉?xiě)的現(xiàn)有代碼。將這三個(gè)步驟與面向?qū)ο缶幊探Y(jié)合使用即可構(gòu)建一種新的方法,可用這種新方法編寫(xiě)以后的JAVA代碼,這樣編寫(xiě)代碼將提高方法的可重用性和內(nèi)聚性,同時(shí)也會(huì)減少方法的相互耦合及復(fù)雜性。

猜你喜歡
功能方法
也談詩(shī)的“功能”
學(xué)習(xí)方法
關(guān)于非首都功能疏解的幾點(diǎn)思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡(jiǎn)直”和“幾乎”的表達(dá)功能
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚(yú)
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
主站蜘蛛池模板: 欧美a在线| 波多野结衣的av一区二区三区| 在线观看国产精美视频| 92精品国产自产在线观看| 国产福利在线观看精品| 精品无码国产自产野外拍在线| 91视频区| 专干老肥熟女视频网站| 五月综合色婷婷| 天天综合网色| 久久公开视频| 婷婷成人综合| 久久综合结合久久狠狠狠97色| 国产精品精品视频| 天天综合色天天综合网| 久久久久久久97| 久久精品亚洲专区| 亚洲精品图区| 亚洲欧美成人在线视频| 日韩福利在线观看| 亚洲精选高清无码| 国产成人亚洲综合A∨在线播放| 国产色婷婷视频在线观看| 亚洲码一区二区三区| 免费人欧美成又黄又爽的视频| 国产在线一二三区| 综合天天色| 青青操视频在线| 十八禁美女裸体网站| 国产无码精品在线播放| 97国产精品视频自在拍| 亚洲精品大秀视频| 国产凹凸视频在线观看| 久久免费视频6| 免费在线a视频| 72种姿势欧美久久久大黄蕉| 午夜综合网| 99中文字幕亚洲一区二区| 亚洲另类第一页| 夜夜拍夜夜爽| 久久亚洲综合伊人| 久久青草免费91线频观看不卡| www.亚洲一区| 国产交换配偶在线视频| 18禁高潮出水呻吟娇喘蜜芽| 无码国产伊人| 福利在线一区| 91精品aⅴ无码中文字字幕蜜桃| 中文字幕精品一区二区三区视频| 国产视频只有无码精品| 91无码人妻精品一区| 九九线精品视频在线观看| 亚洲无码37.| 国产在线观看91精品| 久久这里只有精品2| 欧洲日本亚洲中文字幕| 成人小视频网| 国产无码在线调教| 亚洲精品国产综合99| 尤物精品视频一区二区三区| AV熟女乱| www.亚洲天堂| 99久久国产综合精品2023| 欧美一级夜夜爽www| 色综合中文综合网| 国产精品30p| 亚洲v日韩v欧美在线观看| 亚洲最大福利网站| 91丝袜美腿高跟国产极品老师| 日韩天堂在线观看| 一本一道波多野结衣一区二区| 中文字幕在线播放不卡| 老司机午夜精品视频你懂的| 亚洲人成网站在线观看播放不卡| 亚洲欧美一区在线| 国产成人综合日韩精品无码不卡| 亚洲婷婷六月| 国产在线观看91精品亚瑟| 国产一级特黄aa级特黄裸毛片| 国产成人久久777777| 中文字幕 欧美日韩| 中文字幕日韩欧美|