版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第五章 物件之間的關(guān)聯(lián)JavaObjects徹底研究
相關(guān)與連結(jié)多重度一對(duì)一(1:1)
一對(duì)多(1:m)
多對(duì)多(m:m)
多重度與連結(jié)聚合與組合聚合
(aggregation)是一種特殊的相關(guān),也稱(chēng)為「組成」、「由...構(gòu)成」或是「擁有」的關(guān)係組合
(composition)則是聚合的強(qiáng)制形式,在這種關(guān)聯(lián)之下,「零件」不能脫離「整體」獨(dú)自出現(xiàn)繼承以新的抽象化概念處理需求變化(不好的)方法#1:修改Student類(lèi)別(不好的)方法#2:「複製」Student類(lèi)別以建立GraduateStudent
類(lèi)別正確的方法(#3):利用繼承功能繼承的本質(zhì)是「is-a」繼承的好處類(lèi)別階層結(jié)構(gòu)Object類(lèi)別繼承真的是一種關(guān)聯(lián)嗎?在物件階層裡面避免「連鎖效應(yīng)」衍生類(lèi)別時(shí)的規(guī)則:該做哪些事繼承的本質(zhì)是「is-a」繼承經(jīng)常說(shuō)成兩個(gè)類(lèi)別之間的「是一個(gè)」(is-a)關(guān)聯(lián),因?yàn)槿绻鸅類(lèi)別(GraduateStudent)是從A類(lèi)別(Student)衍生而來(lái)的話(huà),那麼B真的就是一個(gè)
A的特例如果A類(lèi)別可以做的一些事情,提議中的B子類(lèi)別沒(méi)辦法做的話(huà),B就不是A合理的子類(lèi)別
特化
(specialization),泛化
(generalization)繼承的好處能明顯減少冗餘程式碼
與沒(méi)有繼承功能的語(yǔ)言比起來(lái),子類(lèi)別簡(jiǎn)潔太多了
可以透過(guò)繼承功能沿用、擴(kuò)充已經(jīng)徹底測(cè)試過(guò)的程式碼,完全不必修改
最棒的是,即使我們沒(méi)有現(xiàn)有類(lèi)別的原始碼,還是可以從現(xiàn)有類(lèi)別衍生出新類(lèi)別
分類(lèi)是人類(lèi)整理資訊的自然作法類(lèi)別階層結(jié)構(gòu)節(jié)點(diǎn)
(note)衍生而來(lái)
(derivedfrom)前輩
(ancestor)後輩
(descendant)根節(jié)點(diǎn)
(rootnote)終端
(terminal)樹(shù)葉節(jié)點(diǎn)
(leafnode)兄弟
(siblings)覆寫(xiě)重新利用父類(lèi)別的特徵:super關(guān)鍵字衍生類(lèi)別時(shí)的規(guī)則:別做哪些事私有特徵與繼承繼承與建構(gòu)子建構(gòu)子不會(huì)被繼承以super(...)重新利用建構(gòu)子
換掉預(yù)設(shè)的無(wú)參數(shù)建構(gòu)子
關(guān)於多重繼承衍生類(lèi)別時(shí)的規(guī)則:別做哪些事我們不應(yīng)該變更一個(gè)特徵的語(yǔ)義—也就是它的目的、意義
我們不能實(shí)際排除特徵,也不能用忽視特徵的方式排除它們
我們不應(yīng)該在覆寫(xiě)方法的時(shí)候,試著變更方法的簽名
總結(jié)相關(guān)指的是類(lèi)別之間的關(guān)聯(lián)—也就是兩個(gè)類(lèi)別、型別實(shí)體之間可能產(chǎn)生的關(guān)聯(lián);而連結(jié)
(link)指的是兩個(gè)物件之間的實(shí)際關(guān)聯(lián)。在X類(lèi)別與Y類(lèi)別之間,我們將多重度定義為X類(lèi)別可以有幾個(gè)物件實(shí)體連結(jié)到指定的Y類(lèi)別物件,反之亦然。多重度可能有一對(duì)一(1:1)、一對(duì)多(1:m)與多對(duì)多(m:m)這三種。不管在哪種多重度之下,兩端的物件都可能是必要、或不是必要的。聚合是一種特殊的相關(guān)性,隱含著「包含」的關(guān)係。如何透過(guò)繼承,根據(jù)現(xiàn)有類(lèi)別衍生出新類(lèi)別,以及在衍生新類(lèi)別的時(shí)候該做哪些事、別做哪些事;具體來(lái)說(shuō),我們討論了要如何擴(kuò)充一個(gè)父類(lèi)別,並且透過(guò)新增特徵或覆載方法這兩種管道來(lái)特化父類(lèi)別。類(lèi)別階層結(jié)構(gòu)會(huì)如何隨著時(shí)間演進(jìn),以
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)英語(yǔ)Whatisyourfavorite課件
- 駕考題庫(kù)-70歲以上老年人C2駕照年審三力測(cè)試題
- 《證券銷(xiāo)戶(hù)寶典》課件
- 單位管理制度集粹選集【職工管理篇】十篇
- 2024服務(wù)合同范文(32篇)
- 單位管理制度合并選集【人員管理】
- 單位管理制度范例選集人事管理十篇
- 七年級(jí)英語(yǔ)Nationalheroes課件
- 3ds Max動(dòng)畫(huà)制作實(shí)戰(zhàn)訓(xùn)練(第3版)教學(xué)教案
- 2024年醫(yī)院個(gè)人工作總結(jié)范文
- 產(chǎn)品代發(fā)合同范例
- 《城市軌道交通票務(wù)管理》-實(shí)訓(xùn)計(jì)劃
- 2024廣東省基本醫(yī)療保險(xiǎn)門(mén)診特定病種業(yè)務(wù)經(jīng)辦規(guī)程-申請(qǐng)表
- 2023年輔導(dǎo)員職業(yè)技能大賽試題及答案
- 講師與教育平臺(tái)合作合同
- 2025屆江蘇省丹陽(yáng)市丹陽(yáng)高級(jí)中學(xué)高一數(shù)學(xué)第一學(xué)期期末統(tǒng)考試題含解析
- 汽車(chē)保險(xiǎn)與理賠課件 3.4認(rèn)識(shí)新能源汽車(chē)車(chē)上人員責(zé)任保險(xiǎn)
- GB/T 33629-2024風(fēng)能發(fā)電系統(tǒng)雷電防護(hù)
- 建筑工程施工現(xiàn)場(chǎng)安全檢查手冊(cè)
- 小學(xué)英語(yǔ)語(yǔ)法練習(xí)模擬試卷
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)項(xiàng)目安全文明施工方案
評(píng)論
0/150
提交評(píng)論