類圖基本概念1習(xí)題解答_第1頁
類圖基本概念1習(xí)題解答_第2頁
類圖基本概念1習(xí)題解答_第3頁
類圖基本概念1習(xí)題解答_第4頁
類圖基本概念1習(xí)題解答_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

軟件工程1、一個(gè)軟件實(shí)體應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉。即軟件實(shí)體應(yīng)盡量在不修改原有代碼的情況下進(jìn)行()。如果一個(gè)軟件設(shè)計(jì)符合開閉原則,那么可以非常方便地對系統(tǒng)進(jìn)行擴(kuò)展,而且在擴(kuò)展時(shí)無須修改現(xiàn)有代碼。一個(gè)軟件實(shí)體應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉。即軟件實(shí)體應(yīng)盡量在不修改原有代碼的情況下進(jìn)行擴(kuò)展。抽象化是開閉原則的關(guān)鍵。在Java、C#等編程語言中,可以為系統(tǒng)定義一個(gè)相對穩(wěn)定的抽象層,而將不同的實(shí)現(xiàn)行為移至具體的實(shí)現(xiàn)層中完成。因此答案是擴(kuò)展!2、為了滿足開閉原則,抽象化是開閉原則的關(guān)鍵。在Java、C#等編程語言中,可以為系統(tǒng)定義一個(gè)相對穩(wěn)定的抽象層,而將不同的行為移至具體的實(shí)現(xiàn)層中完成。如果需要修改系統(tǒng)的行為,無須對()進(jìn)行任何改動(dòng),只需要增加新的具體類來實(shí)現(xiàn)新的業(yè)務(wù)功能即可,實(shí)現(xiàn)在不修改已有代碼的基礎(chǔ)上擴(kuò)展系統(tǒng)的功能,達(dá)到開閉原則的要求。解析:抽象化是開閉原則的關(guān)鍵。在Java、C#等編程語言中,可以為系統(tǒng)定義一個(gè)相對穩(wěn)定的抽象層,而將不同的實(shí)現(xiàn)行為移至具體的實(shí)現(xiàn)層中完成。在很多面向?qū)ο缶幊陶Z言中都提供了接口、抽象類等機(jī)制,可以通過它們定義系統(tǒng)的抽象層,再通過具體類來進(jìn)行擴(kuò)展。如果需要修改系統(tǒng)的行為,無須對抽象層進(jìn)行任何改動(dòng),只需要增加新的具體類來實(shí)現(xiàn)新的業(yè)務(wù)功能即可,實(shí)現(xiàn)在不修改已有代碼的基礎(chǔ)上擴(kuò)展系統(tǒng)的!答案是抽象層。3、里氏替換原則:所有引用基類(父類)的地方必須能透明地使用其子類對象。在運(yùn)用里氏替換原則時(shí),應(yīng)該將父類設(shè)計(jì)為抽象類或(),讓子類繼承父類或?qū)崿F(xiàn)父接口,并實(shí)現(xiàn)在父類中聲明的方法,運(yùn)行時(shí),子類實(shí)例替代父類實(shí)例,可以很方便的擴(kuò)展系統(tǒng)的功能,無須修改原有子類的代碼,增加新的功能可以通過增加一個(gè)新的子類來實(shí)現(xiàn)。

解析:本題答案為接口。任何基類出現(xiàn)的地方都應(yīng)該可以無差別的使用子類替換。所有引用基類的地方必須能透明地使用其子類的對象。問題由來:繼承的優(yōu)點(diǎn)是大大提升了代碼的復(fù)用度,但是缺點(diǎn)也同樣明顯:增加了對象的耦合程度,破壞了程序的封裝性,導(dǎo)致程序的可移植性變差。使用Liskov替換原則可以大大減少我們代碼的出錯(cuò)概率。4、接口隔離原則:使用多個(gè)專門的接口,而不是使用單一的接口,即客戶端不應(yīng)該依賴哪些它不需要的()。不好的,類B不需要接口中的方法4和5:如果將這個(gè)設(shè)計(jì)修改為符合接口隔離原則,就必須對接口I進(jìn)行拆分。在這里將原有的接口I拆分為三個(gè)接口,拆分后的設(shè)計(jì)如右圖所示:

5、在設(shè)計(jì)類圖時(shí),可以不用對類圖中的每個(gè)關(guān)聯(lián)進(jìn)行命名,但如果需要命名的話,最好用一個(gè)“動(dòng)詞”給關(guān)聯(lián)命名。A. 真B. 假解析:答案選A。6、在畫類圖時(shí),屬性或操作如果是public的,可以用“+”表示,protected用“#”表示,private用“-”表示。A. 真B. 假

解析:如表所示,答案選A7、UML中關(guān)聯(lián)的多重度是指()。A. 一個(gè)類中被另一個(gè)類調(diào)用的方法個(gè)數(shù)B.一個(gè)類的某個(gè)方法被另一個(gè)類調(diào)用的次數(shù)C.一個(gè)類的實(shí)例能夠與另一個(gè)類的多少個(gè)實(shí)例相關(guān)聯(lián)D.兩個(gè)類所具有的相同的方法和屬性解析:進(jìn)行面向?qū)ο笤O(shè)計(jì)時(shí),類圖中可以展現(xiàn)類之間的關(guān)聯(lián)關(guān)系,還可以在類圖中圖示關(guān)聯(lián)中的數(shù)量關(guān)系,即多重度

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論