版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
類關(guān)系圖及代碼一、繼承(泛化)關(guān)系(Generalization)表示類與類之間的繼承關(guān)系,接口與接口之間的繼承關(guān)系,或類對接口的實現(xiàn)關(guān)系。一般化的關(guān)系是從子類指向父類的,與繼承或?qū)崿F(xiàn)的方法相反。class
Animal{}classTigerextendsAnimal{}classDogextendsAnimal{}一、繼承(泛化)關(guān)系(Generalization)在UML當中,對泛化關(guān)系有三個要求:1、子類與父類應(yīng)該完全一致,父類所具有的屬性、操作,子類應(yīng)該都有;2、子類中除了與父類一致的信息以外,還包括額外的信息;3、可以使用父類的實例的地方,也可以使用子類的實例;二、依賴關(guān)系(Dependence)依賴關(guān)系(Dependency)
是一種使用關(guān)系,特定事物的改變有可能會影響到使用該事物的其他事物,在需要表示一個事物使用另一個事物時使用依賴關(guān)系。大多數(shù)情況下,依賴關(guān)系體現(xiàn)在某個類的方法使用另一個類的對象作為參數(shù),或者一個類調(diào)用另一個類的方法。在UML中,依賴關(guān)系用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方。二、依賴關(guān)系(Dependence)publicclassA{
publicvoidAOperation(){ BBObj=newB(); Stringobjname=BObj.BOperation(1); }}PublicclassB{
publicStringBOperation(Integerobjid){
return"ObjectB"; };}二、依賴關(guān)系(Dependence)依賴關(guān)系有如下三種情況:1、A類是B類中的(某中方法的)局部變量;2、A類是B類方法當中的一個參數(shù);3、A類向B類發(fā)送消息,從而影響B(tài)類發(fā)生變化;三、關(guān)聯(lián)關(guān)系(Association)
對于兩個相對獨立的對象,當一個對象的實例與另一個對象的一些特定實例存在固定的對應(yīng)關(guān)系時,這兩個對象之間為關(guān)聯(lián)關(guān)系。
類之間的聯(lián)接,它使一個類知道另一個類的屬性和方法。關(guān)聯(lián)分雙向關(guān)聯(lián)和單向關(guān)聯(lián)。三、關(guān)聯(lián)關(guān)系(Association)
關(guān)聯(lián)兩邊的"employee"和“employer”標示了兩者之間的關(guān)系,而數(shù)字表示兩者的關(guān)系的限制,是關(guān)聯(lián)兩者之間的多重性。通常有“*”(表示所有,不限),“1”(表示有且僅有一個),“0...”(表示0個或者多個),“0,1”(表示0個或者一個),“n...m”(表示n到m個都可以),“m...*”(表示至少m個)。關(guān)聯(lián)關(guān)系(Association)
是類與類之間最常用的一種關(guān)系,它是一種結(jié)構(gòu)化關(guān)系,用于表示一類對象與另一類對象之間有聯(lián)系。在UML類圖中,用實線連接有關(guān)聯(lián)的對象所對應(yīng)的類,在使用Java、C#和C++等編程語言實現(xiàn)關(guān)聯(lián)關(guān)系時,通常將一個類的對象作為另一個類的屬性。在使用類圖表示關(guān)聯(lián)關(guān)系時可以在關(guān)聯(lián)線上標注角色名。三、關(guān)聯(lián)關(guān)系(Association)
publicclassCompany{privateEmployeeemployee;public
Employee
getEmployee(){return
employee;
}
public
void
setEmployee(Employee
employee){this.employee=employee;}
//公司運作
public
void
run(){
employee.startWorking();}}三、關(guān)聯(lián)關(guān)系(Association)
雙向關(guān)聯(lián)public
class
Customer
{
private
Product[]
products;
……
}
public
class
Product
{
private
Customer
customer;
……
}
三、關(guān)聯(lián)關(guān)系(Association)
單向關(guān)聯(lián)public
class
Customer
{
private
Address
address;
……
}
public
class
Address
{
……
}
四、聚合關(guān)系(Aggregation)聚合關(guān)系(Aggregation)
表示一個整體與部分的關(guān)系。通常在定義一個整體類后,再去分析這個整體類的組成結(jié)構(gòu),從而找出一些成員類,該整體類和成員類之間就形成了聚合
關(guān)系。在聚合關(guān)系中,成員類是整體類的一部分,即成員對象是整體對象的一部分,但是成員對象可以脫離整體對象獨立存在。在UML中,聚合關(guān)系用帶空心菱形的直線表示。
當對象A被加入到對象B中,成為對象B的組成部分時,對象B和對象A之間為聚集關(guān)系。聚合是關(guān)聯(lián)關(guān)系的一種,是較強的關(guān)聯(lián)關(guān)系,強調(diào)的是整體與部分之間的關(guān)系。四、聚合關(guān)系0..1表示一個Class_10對象最多關(guān)聯(lián)1個Class_9對象;
0..n表示一個Class_9對象關(guān)聯(lián)任意個Class_10對象.public
class
Computer{private
CPU
cpu;
privateMemorymemory;
privateHHDhhd;publicCPUgetCPU(){return
cpu;}publicvoidsetCPU(CPU
cpu){this.cpu=cpu;}
publicMemorygetMemory(){
returnmemory;
}
publicMemorysetMemory(Memorymem){
this.memory=mem;
}publicHHDgetHHD(){return
hhd;}publicvoidsetHHD(HHD
hhd){this.hhd=hhd;}
//開啟電腦
public
void
start(){//cpu運作cpu.run();}}關(guān)聯(lián)與聚合的區(qū)別(1)關(guān)聯(lián)關(guān)系所涉及的兩個對象是處在同一個層次上的。比如人和自行車就是一種關(guān)聯(lián)關(guān)系,而不是聚合關(guān)系,因為人不是由自行車組成的。
聚合關(guān)系涉及的兩個對象處于不平等的層次上,一個代表整體,一個代表部分。比如電腦和它的顯示器、鍵盤、主板以及內(nèi)存就是聚集關(guān)系,因為主板是電腦的組成部分。(2)對于具有聚集關(guān)系(尤其是強聚集關(guān)系)的兩個對象,整體對象會制約它的組成對象的生命周期。部分類的對象不能單獨存在,它的生命周期依賴于整體類的對象的生命周期,當整體消失,部分也就隨之消失。比如張三的電腦被偷了,那么電腦的所有組件也不存在了,除非張三事先把一些電腦的組件(比如硬盤和內(nèi)存)拆了下來。五、組合關(guān)系(Composition)組合關(guān)系(Composition)也表示類之間整體和部分的關(guān)系,但是組合關(guān)系中部分和整體具有統(tǒng)一的生存期。一旦整體對象不存在,部分對象也將不存在,部分對象與整體對象之間具有同生共死的關(guān)系。在組合關(guān)系中,成員類是整體類的一部分,而且整體類可以控制成員類的生命周期,即成員類的存在依賴于整體類。在UML中,組合關(guān)系用帶實心菱形的直線表示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版智能家居系統(tǒng)集成安裝居間協(xié)議合同
- 2025年度個人消費貸款居間服務(wù)合同3篇
- 2024年股權(quán)回購及轉(zhuǎn)讓權(quán)益合同版
- 二零二五年度二手房改造帶智能家居購房合同3篇
- 2025年度智慧交通項目共同墊資合作協(xié)議書2篇
- 2024年車輛出借協(xié)議標準版
- 2025版租賃合同:相機及攝影師全面服務(wù)適用于各類活動拍攝2篇
- 2025年度果樹種植基地建設(shè)合作協(xié)議2篇
- 2024年版財產(chǎn)分割協(xié)議模板
- 2024年高效倉儲保管合作合同版
- GB 4396-2024二氧化碳滅火劑
- 美麗的秋天景色作文500字小學(xué)
- 施工單位2025年度安全生產(chǎn)工作總結(jié)及計劃
- 護理質(zhì)量委員會會議
- 2024年護理質(zhì)量分析
- 2024-2025學(xué)年高中物理舉一反三專題2.1 簡諧運動【八大題型】(含答案)
- EPC模式承包人建議書及承包人實施方案
- 2025人教版九年級英語全冊知識點清單
- 2024版 新能源電站單位千瓦造價標準
- 臨床醫(yī)技科室6S管理制度
- 小紅書代運營協(xié)議模板
評論
0/150
提交評論