![java設(shè)計(jì)模式課件-27附錄a uml類圖_第1頁(yè)](http://file4.renrendoc.com/view/3d7bbee24fdb009fffd5bc22c8084bd3/3d7bbee24fdb009fffd5bc22c8084bd31.gif)
![java設(shè)計(jì)模式課件-27附錄a uml類圖_第2頁(yè)](http://file4.renrendoc.com/view/3d7bbee24fdb009fffd5bc22c8084bd3/3d7bbee24fdb009fffd5bc22c8084bd32.gif)
![java設(shè)計(jì)模式課件-27附錄a uml類圖_第3頁(yè)](http://file4.renrendoc.com/view/3d7bbee24fdb009fffd5bc22c8084bd3/3d7bbee24fdb009fffd5bc22c8084bd33.gif)
![java設(shè)計(jì)模式課件-27附錄a uml類圖_第4頁(yè)](http://file4.renrendoc.com/view/3d7bbee24fdb009fffd5bc22c8084bd3/3d7bbee24fdb009fffd5bc22c8084bd34.gif)
![java設(shè)計(jì)模式課件-27附錄a uml類圖_第5頁(yè)](http://file4.renrendoc.com/view/3d7bbee24fdb009fffd5bc22c8084bd3/3d7bbee24fdb009fffd5bc22c8084bd35.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DesignPatternsUML類圖劉偉(Sunny)
大綱UML概述類與類的UML表示類之間的關(guān)系補(bǔ)充知識(shí)UML概述UMLUnifiedModelingLanguage統(tǒng)一建模語(yǔ)言統(tǒng)一建模語(yǔ)言統(tǒng)一建模語(yǔ)言UML概述IvarJacobosonGradyBoochJamesRumbaughObjectModelingTechnique(OMT)Booch開發(fā)方法Object-OrientedSoftwareEngineering(OOSE)UMLUML概述UML是一個(gè)通用的可視化建模語(yǔ)言,不同于編程語(yǔ)言,它通過(guò)一些標(biāo)準(zhǔn)的圖形符號(hào)和文字來(lái)對(duì)系統(tǒng)進(jìn)行建模用于對(duì)軟件進(jìn)行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)制品的文檔是一套總結(jié)了以往建模技術(shù)的經(jīng)驗(yàn)并吸收了當(dāng)今最優(yōu)秀成果的標(biāo)準(zhǔn)建模方法UML概述UML的結(jié)構(gòu)視圖(View)UML概述UML的結(jié)構(gòu)圖(Diagram):13種(UML2.X)用例圖(UseCaseDiagram),類圖(ClassDiagram),對(duì)象圖(ObjectDiagram),包圖(PackageDiagram),組合結(jié)構(gòu)圖(CompositeStructureDiagram),狀態(tài)圖(StateDiagram),活動(dòng)圖(ActivityDiagram),順序圖(SequenceDiagram),通信圖(CommunicationDiagram),定時(shí)圖(TimingDiagram),交互概覽圖(InteractionOverviewDiagram),組件圖(ComponentDiagram),部署圖(DeploymentDiagram)UML概述UML的結(jié)構(gòu)模型元素(ModelElement)UML圖中所使用的一些概念,對(duì)應(yīng)于普通的面向?qū)ο蟾拍钔粋€(gè)模型元素可以在多個(gè)不同的UML圖中使用,但是,無(wú)論在哪個(gè)圖中,同一個(gè)模型元素都必須保持相同的意義并具有相同的符號(hào)UML概述UML的結(jié)構(gòu)通用機(jī)制(GeneralMechanism)UML提供的通用機(jī)制為模型元素提供額外的注釋、語(yǔ)義和其他信息,包括擴(kuò)展機(jī)制,允許用戶對(duì)UML進(jìn)行擴(kuò)展類與類的UML表示類類(Class)封裝了數(shù)據(jù)和行為,是面向?qū)ο蟮闹匾M成部分,它是具有相同屬性、操作、關(guān)系的對(duì)象集合的總稱在系統(tǒng)中,每個(gè)類都具有一定的職責(zé),職責(zé)指的是類要完成什么樣的功能,要承擔(dān)什么樣的義務(wù)。一個(gè)類可以有多種職責(zé),設(shè)計(jì)得好的類通常有且僅有一種職責(zé)。在定義類的時(shí)候,將類的職責(zé)分解成為類的屬性和操作(即方法)類的屬性即類的數(shù)據(jù)職責(zé),類的操作即類的行為職責(zé)類與類的UML表示類類實(shí)例化成對(duì)象(Object),對(duì)象對(duì)應(yīng)于某個(gè)具體的事物,是類的實(shí)例(Instance)類圖(ClassDiagram)使用出現(xiàn)在系統(tǒng)中的不同類來(lái)描述系統(tǒng)的靜態(tài)結(jié)構(gòu),它用來(lái)描述不同的類以及它們之間的關(guān)系類與類的UML表示類的UML圖示在UML類圖中,類一般由三部分組成:第一部分是類名:每個(gè)類都必須有一個(gè)名字,類名是一個(gè)字符串。按照J(rèn)ava語(yǔ)言的命名規(guī)范,類名中每一個(gè)單詞的首字母均大寫。publicclassEmployee{privateStringname;privateintage;privateStringemail;
publicvoidmodifyInfo(){......}}類與類的UML表示類的UML圖示第二部分是類的屬性(Attributes):屬性是指類的性質(zhì),即類的成員變量。一個(gè)類可以有任意多個(gè)屬性,也可以沒有屬性。按照J(rèn)ava語(yǔ)言的命名規(guī)范,屬性名中的第一個(gè)單詞全小寫,之后每個(gè)單詞首字母大寫。(駝峰命名法)[可見性]名稱:類型[
=默認(rèn)值]類與類的UML表示類的UML圖示第三部分是類的操作(Operations):操作是類的任意一個(gè)實(shí)例對(duì)象都擁有的行為,是類的成員方法。按照J(rèn)ava語(yǔ)言的命名規(guī)范,方法名中的第一個(gè)單詞全小寫,之后每個(gè)單詞首字母大寫。[可見性]名稱([參數(shù)列表])[:返回類型]類之間的關(guān)系關(guān)聯(lián)關(guān)系關(guān)聯(lián)(Association)關(guān)系是類與類之間最常用的一種關(guān)系,它是一種結(jié)構(gòu)化關(guān)系,用于表示一類對(duì)象與另一類對(duì)象之間有聯(lián)系。在UML類圖中,用實(shí)線連接有關(guān)聯(lián)關(guān)系的對(duì)象所對(duì)應(yīng)的類,在使用Java、C++和C#等編程語(yǔ)言實(shí)現(xiàn)關(guān)聯(lián)關(guān)系時(shí),通常將一個(gè)類的對(duì)象作為另一個(gè)類的成員變量。在使用類圖表示關(guān)聯(lián)關(guān)系時(shí)可以在關(guān)聯(lián)線上標(biāo)注角色名。類之間的關(guān)系關(guān)聯(lián)關(guān)系publicclassLoginForm
{privateJButtonloginButton;//定義為成員變量……}publicclassJButton
{
……}類之間的關(guān)系關(guān)聯(lián)關(guān)系雙向關(guān)聯(lián):默認(rèn)情況下,關(guān)聯(lián)是雙向的publicclassCustomer
{privateProduct[]products;……}publicclassProduct{privateCustomercustomer;……}類之間的關(guān)系關(guān)聯(lián)關(guān)系單向關(guān)聯(lián):類的關(guān)聯(lián)關(guān)系也可以是單向的,單向關(guān)聯(lián)用帶箭頭的實(shí)線表示publicclassCustomer{privateAddressaddress;……}publicclassAddress{……}類之間的關(guān)系關(guān)聯(lián)關(guān)系自關(guān)聯(lián):在系統(tǒng)中可能會(huì)存在一些類的屬性對(duì)象類型為該類本身,這種特殊的關(guān)聯(lián)關(guān)系稱為自關(guān)聯(lián)publicclassNode{privateNodesubNode;……}類之間的關(guān)系關(guān)聯(lián)關(guān)系多重性關(guān)聯(lián):多重性關(guān)聯(lián)關(guān)系又稱為重?cái)?shù)性(Multiplicity)關(guān)聯(lián)關(guān)系,表示兩個(gè)關(guān)聯(lián)對(duì)象在數(shù)量上的對(duì)應(yīng)關(guān)系。在UML中,對(duì)象之間的多重性可以直接在關(guān)聯(lián)直線上用一個(gè)數(shù)字或一個(gè)數(shù)字范圍表示表示方式多重性說(shuō)明1..1表示另一個(gè)類的一個(gè)對(duì)象只與該類的一個(gè)對(duì)象有關(guān)系0..*表示另一個(gè)類的一個(gè)對(duì)象與該類的零個(gè)或多個(gè)對(duì)象有關(guān)系1..*表示另一個(gè)類的一個(gè)對(duì)象與該類的一個(gè)或多個(gè)對(duì)象有關(guān)系0..1表示另一個(gè)類的一個(gè)對(duì)象沒有或只與該類的一個(gè)對(duì)象有關(guān)系m..n表示另一個(gè)類的一個(gè)對(duì)象與該類最少m,最多n個(gè)對(duì)象有關(guān)系(m≤n)類之間的關(guān)系關(guān)聯(lián)關(guān)系多重性關(guān)聯(lián)publicclassForm{
privateButton[]buttons;//定義一個(gè)集合對(duì)象……}publicclassButton{…}類之間的關(guān)系關(guān)聯(lián)關(guān)系聚合關(guān)系聚合(Aggregation)關(guān)系表示整體與部分的關(guān)系在聚合關(guān)系中,成員對(duì)象是整體對(duì)象的一部分,但是成員對(duì)象可以脫離整體對(duì)象獨(dú)立存在在UML中,聚合關(guān)系用帶空心菱形的直線表示類之間的關(guān)系關(guān)聯(lián)關(guān)系聚合關(guān)系publicclassCar
{privateEngineengine;publicCar(Engineengine)
{//構(gòu)造注入this.engine=engine;}
publicvoidsetEngine(Engineengine){//設(shè)值注入this.engine=engine;}……}publicclassEngine
{
……}類之間的關(guān)系關(guān)聯(lián)關(guān)系組合關(guān)系組合(Composition)關(guān)系也表示類之間整體和部分的關(guān)系,但是在組合關(guān)系中整體對(duì)象可以控制成員對(duì)象的生命周期,一旦整體對(duì)象不存在,成員對(duì)象也將不存在成員對(duì)象與整體對(duì)象之間具有同生共死的關(guān)系在UML中,組合關(guān)系用帶實(shí)心菱形的直線表示類之間的關(guān)系關(guān)聯(lián)關(guān)系組合關(guān)系publicclassHead{privateMouthmouth;publicHead(){mouth=newMouth();//實(shí)例化成員類}……}publicclassMouth{
……}類之間的關(guān)系依賴關(guān)系依賴(Dependency)關(guān)系是一種使用關(guān)系,特定事物的改變有可能會(huì)影響到使用該事物的其他事物,在需要表示一個(gè)事物使用另一個(gè)事物時(shí)使用依賴關(guān)系。大多數(shù)情況下,依賴關(guān)系體現(xiàn)在某個(gè)類的方法使用另一個(gè)類的對(duì)象作為參數(shù)。在UML中,依賴關(guān)系用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方。類之間的關(guān)系依賴關(guān)系publicclassDriver
{publicvoiddrive(Carcar){car.move();}
……}publicclassCar{publicvoidmove(){......}
……}類之間的關(guān)系依賴關(guān)系在系統(tǒng)實(shí)現(xiàn)階段,依賴關(guān)系通常通過(guò)三種方式來(lái)實(shí)現(xiàn):將一個(gè)類的對(duì)象作為另一個(gè)類中方法的參數(shù)在一個(gè)類的方法中將另一個(gè)類的對(duì)象作為其局部變量在一個(gè)類的方法中調(diào)用另一個(gè)類的靜態(tài)方法類之間的關(guān)系泛化關(guān)系泛化(Generalization)關(guān)系也就是繼承關(guān)系,用于描述父類與子類之間的關(guān)系,父類又稱為基類或超類,子類又稱為派生類。在UML中,泛化關(guān)系用帶空心三角形的直線來(lái)表示。在代碼實(shí)現(xiàn)時(shí),使用面向?qū)ο蟮睦^承機(jī)制來(lái)實(shí)現(xiàn)泛化關(guān)系,在Java語(yǔ)言中使用extends關(guān)鍵字實(shí)現(xiàn)。類之間的關(guān)系泛化關(guān)系//父類publicclassPerson{protectedStringname;protectedintage;publicvoidmove(){
……}publicvoidsay(){
……}}//子類publicclassStudentextendsPerson{privateStringstudentNo;publicvoidstudy(){
……}}類之間的關(guān)系接口與實(shí)現(xiàn)關(guān)系接口之間也可以有與類之間關(guān)系類似的繼承關(guān)系和依賴關(guān)系,但是接口和類之間還存在一種實(shí)現(xiàn)(Realization)關(guān)系,在這種關(guān)系中,類實(shí)現(xiàn)了接口,類中的操作實(shí)現(xiàn)了接口中所聲明的操作。在UML中,類與接口之間的實(shí)現(xiàn)關(guān)系用帶空心三角形的虛線來(lái)表示。
類之間的關(guān)系接口與實(shí)現(xiàn)關(guān)系publicinterfaceVehicle{publicvoidmove();}publicclassShipimplementsVehicle
{publicvoi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作崗位調(diào)動(dòng)申請(qǐng)書怎么
- 幼兒園畢業(yè)申請(qǐng)書
- 中隊(duì)長(zhǎng)助理 申請(qǐng)書
- 煙草證申請(qǐng)書范文
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目小
- 2024-2025人教版初中七下數(shù)學(xué)湖北專版12.2.1第1課時(shí)-扇形圖、條形圖和折線圖【課件】
- 廣東省梅州市興寧市沐彬中學(xué)2024-2025學(xué)年九年級(jí)下學(xué)期開學(xué)歷史模擬試題(含答案)
- 法務(wù)月度匯報(bào)
- 東西哲學(xué)交融
- 經(jīng)營(yíng)范圍的變更申請(qǐng)書
- 高速公路養(yǎng)護(hù)施工標(biāo)準(zhǔn)化技術(shù)指南
- 新生兒氣管插管操作評(píng)分標(biāo)準(zhǔn)
- 支委委員辭去職務(wù)申請(qǐng)書
- 變更更正戶口項(xiàng)目申請(qǐng)表
- 冷軋工程專業(yè)詞匯匯編注音版
- 【橋梁工程的發(fā)展趨勢(shì)與思考5300字】
- GB/T 35274-2023信息安全技術(shù)大數(shù)據(jù)服務(wù)安全能力要求
- 《飼料質(zhì)量安全管理規(guī)范》培訓(xùn)2022年
- 新員工入職公司級(jí)安全教育培訓(xùn)課件
- 五年級(jí)語(yǔ)文閱讀訓(xùn)練20篇專項(xiàng)訓(xùn)練帶答案解析
- 《危險(xiǎn)化學(xué)品重點(diǎn)縣專家指導(dǎo)服務(wù)手冊(cè)》
評(píng)論
0/150
提交評(píng)論