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例
主站蜘蛛池模板: 欧美国产日产一区二区| 国产簧片免费在线播放| 99久久精品免费看国产免费软件 | 国产亚洲高清在线精品99| 91在线播放国产| 久久熟女AV| 亚洲91精品视频| 国产特级毛片| 91视频区| 日日拍夜夜操| 国产乱人乱偷精品视频a人人澡| 久久永久精品免费视频| 亚洲一区第一页| 欧美国产日韩另类| 国产无码精品在线| 国产打屁股免费区网站| 国产精品视频猛进猛出| 国产成人亚洲精品蜜芽影院| 麻豆国产在线观看一区二区| 91麻豆国产视频| 国产性生大片免费观看性欧美| 国产成人亚洲综合a∨婷婷| 乱系列中文字幕在线视频| 一级黄色欧美| 亚洲an第二区国产精品| 国内精品91| 中文字幕无码制服中字| 制服丝袜在线视频香蕉| 亚洲无码视频图片| 性视频一区| 福利视频久久| 秋霞国产在线| 天天综合网色| 日韩a在线观看免费观看| 国产真实自在自线免费精品| 久久影院一区二区h| AV网站中文| 亚洲视频在线网| 91青青草视频在线观看的| 久久人体视频| a亚洲视频| 欧美一级99在线观看国产| 国产精品无码一二三视频| 国产小视频网站| 久久精品人人做人人| 亚洲欧美不卡| 伊人久久综在合线亚洲2019| 亚洲国产天堂久久九九九| 亚洲AⅤ综合在线欧美一区| 亚洲天天更新| 美女被操黄色视频网站| 国产视频久久久久| 性喷潮久久久久久久久| 999精品视频在线| 欧美视频在线播放观看免费福利资源| 国内精自视频品线一二区| 久久综合丝袜长腿丝袜| 午夜福利网址| 久久大香伊蕉在人线观看热2| 蜜桃视频一区二区| 国产午夜不卡| 国产精品综合久久久| 2021国产精品自产拍在线观看| 手机精品福利在线观看| 一级不卡毛片| 亚洲欧美日韩成人高清在线一区| 中国精品久久| 午夜日韩久久影院| 华人在线亚洲欧美精品| 欧美v在线| 国产精品久久久久久搜索| 一级毛片在线免费视频| 国产成人精品免费视频大全五级| 日韩福利在线观看| 波多野结衣中文字幕一区| 狠狠综合久久| 亚洲欧美日韩成人在线| 内射人妻无套中出无码| 欧美三級片黃色三級片黃色1| 国产亚洲欧美日韩在线观看一区二区 | 国产v精品成人免费视频71pao| 91福利在线观看视频|