freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

l06b可重用和可維護(hù)原則依賴(lài)倒換原則(編輯修改稿)

2025-01-19 02:17 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 子的形式實(shí)現(xiàn),然后聲明一些抽象方法來(lái)迫使子類(lèi)實(shí)現(xiàn)剩余的邏輯。不同的子類(lèi)可以以不同的方式實(shí)現(xiàn)這些抽象方法,從而對(duì)剩余的邏輯有不同的實(shí)現(xiàn)。先制定一個(gè)頂級(jí)邏輯框架,而將邏輯的細(xì)節(jié)留給具體的子類(lèi)去實(shí)現(xiàn)。 如下圖所示: 高級(jí)商業(yè)邏輯 抽象模板角色 具體模板角色 具體模板角色 模板方法模式特點(diǎn) ? 支持依賴(lài)倒轉(zhuǎn)原則。 ? 具體子類(lèi)不能影響抽象類(lèi)的宏觀邏輯,而抽象類(lèi)的改變則會(huì)導(dǎo)致細(xì)節(jié)邏輯的改變。 迭代子模式 ? 迭代子模式可以順序訪問(wèn)一個(gè)聚集中的元素而不必暴露聚集的內(nèi)部表象。多個(gè)對(duì)象聚在一起形成的總體稱(chēng)之為聚集,聚集對(duì)象是能夠包容一組對(duì)象的容器對(duì)象。 ? 迭代子模式將迭代邏輯封裝到一個(gè)獨(dú)立的子對(duì)象中,從而與聚集本身隔開(kāi)。迭代子模式簡(jiǎn)化了聚集的界面。 ? 如下圖所示: Iterator是迭代器的意思,它的作用是一次產(chǎn)生一個(gè)數(shù)據(jù)項(xiàng),直到?jīng)]有為止。 高級(jí)商業(yè)邏輯 Iterator接口 Iterator的實(shí)現(xiàn) Iterator的實(shí)現(xiàn) 這樣一來(lái),聚集的內(nèi)部結(jié)構(gòu)的改變就不會(huì)涉及到客戶(hù)端,從而實(shí)現(xiàn)對(duì)抽象接口的依賴(lài)。 Java對(duì)抽象類(lèi)型的支持 ? Java語(yǔ)言提供了 Java接口 和 Java抽象類(lèi) 實(shí)現(xiàn)對(duì)抽象類(lèi)型的支持。 二者區(qū)別 1 Java抽象類(lèi)可以提供某些方法的部分實(shí)現(xiàn),而 Java接口不可以 2對(duì)于 Java抽象類(lèi), Java語(yǔ)言限制一個(gè)類(lèi)只能從最多一個(gè)超類(lèi)繼承;而 Java接口,一個(gè)類(lèi)可以實(shí)現(xiàn)任意多個(gè) Java接口 3從代碼重構(gòu)的角度來(lái)講 —— 將一個(gè)單獨(dú)的 Java具體類(lèi)重構(gòu)成一個(gè) Java接口的實(shí)現(xiàn) 是很容易的;而 為一個(gè)已有的具體類(lèi)添加一個(gè) Java抽象類(lèi) 卻不那么容易 4 Java接口是定義 混合類(lèi)型 (Mixin Type)的理想工具 將一個(gè)單獨(dú)的 Java具體類(lèi)重構(gòu)成一個(gè) Java接口的實(shí)現(xiàn) ? 只需要聲明一個(gè) Java接口,并將重要的方法添加到接口聲明中,然后在具體類(lèi)定義語(yǔ)句后面加上一個(gè)合適的implements子句就可以了。 為一個(gè)已有的具體類(lèi)添加一個(gè) Java抽象類(lèi) ? 由于這個(gè)具體類(lèi)有可能有一個(gè)超類(lèi),這樣一來(lái),這個(gè)新定義的抽象類(lèi)只好繼續(xù)向上移動(dòng),變成這個(gè)超類(lèi)的超類(lèi),如此循環(huán),最后這個(gè)新定義的抽象類(lèi)必定處于整個(gè)類(lèi)型等級(jí)結(jié)構(gòu)的最上端,從而使等級(jí)結(jié)構(gòu)中的所有成員都會(huì)受到影響。 Java接口定義混合類(lèi)型 ? 所謂混合類(lèi)型,就是在一個(gè)類(lèi)的主類(lèi)型之外的次要類(lèi)型。 ? 比如 Hashtable類(lèi)就有多個(gè)類(lèi)型。它的主要類(lèi)型是 Map,這是一種 Java聚集。而 Cloneable接口則給出一個(gè)次要類(lèi)型,這個(gè)類(lèi)型說(shuō)明這個(gè)類(lèi)的實(shí)例是可以安全克隆的。同樣, Serializable也是一個(gè)次要類(lèi)型,它表明這個(gè)類(lèi)的實(shí)例是可以串行化的。 ? 如下所示: Dictionary Map Cloneable 聯(lián)合使用 Java抽象類(lèi)和 Java接口 ? 由于 Java抽象類(lèi)具有提供缺省實(shí)現(xiàn)的優(yōu)點(diǎn),而 Java接口具有其他所有的優(yōu)點(diǎn),如下圖所示,所以聯(lián)合使用兩者就算一個(gè)很好的選擇。 《 interface》 抽象類(lèi)型 缺省實(shí)現(xiàn)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1