UML類圖詳細(xì)教程_第1頁
UML類圖詳細(xì)教程_第2頁
UML類圖詳細(xì)教程_第3頁
UML類圖詳細(xì)教程_第4頁
UML類圖詳細(xì)教程_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章UML類圖

·定義類圖

·為什么要建模類圖

·類圖的主要標(biāo)記符號

·如何建模類圖

【學(xué)習(xí)目標(biāo)】1精選2021版課件4.1UML基本類圖

面向?qū)ο笤O(shè)計的基礎(chǔ)就是使用類。類是用來代表現(xiàn)實事務(wù)或者功能的構(gòu)造塊。在本節(jié)中,我們將要學(xué)習(xí)如何建模類及其相互之間的關(guān)系,以便在編寫代碼之前讓你對系統(tǒng)擁有全面的認(rèn)識。

類圖是由若干類關(guān)聯(lián)在一起,反映系統(tǒng)或者子系統(tǒng)組成結(jié)構(gòu)的靜態(tài)圖。類圖的建模貫穿工程的分析和設(shè)計階段的始終,通常從商務(wù)伙伴能夠理解的類開始建模,最終往往成為只有開發(fā)小組才能夠完全理解的類。2精選2021版課件一、類圖的組成類圖由如下元素組成:類(Class):是具有共同結(jié)構(gòu)特征、行為特征、聯(lián)系和語義的對象集合的抽象形式。關(guān)聯(lián)(Association):它表示類與類之間的關(guān)系。3精選2021版課件二、UML類圖中的符號(一)類

類(Class)在UML中通常以實線矩形框表示,矩形框中含有若干分隔框,分別包含類的名字、屬性、操作、約束以及其他成分等,如下圖所示。

類的圖形表示和示例4精選2021版課件

在類圖中,根據(jù)建模的不同景象,類圖標(biāo)中不一定列出全部的內(nèi)容。如在建立分析模型或設(shè)計模型時,甚至可以只列出類名,在圖中著重表達的是類與類之間的聯(lián)系;在建立實現(xiàn)模型時,則應(yīng)當(dāng)在類圖標(biāo)中詳細(xì)給出類的屬性和方法等細(xì)節(jié)。5精選2021版課件1.屬性

屬性(Attribute)在UML類圖標(biāo)的矩形框中用文字串說明,如下圖所示。6精選2021版課件

可視性(Visibility)標(biāo)記表示:

+

公共

# 保護

-

私用可視性也可以用以下關(guān)鍵字表示:public(公共)、protected(保護)、private(私用)。若可視性標(biāo)記為“+”或“public”,則為公共屬性,可以被外部對象訪問。若可視性標(biāo)記為“#’或“protected”,則為保護屬性,可以被本類或子類的對象訪問。若可視性標(biāo)記為“-”或“private”,則為私用屬性,不可以被外部對象訪問,只能為本類的對象使用??梢曅钥梢匀笔?,表示該屬性不可視。7精選2021版課件Student類8精選2021版課件

屬性類型表示:冒號“:”后跟屬性值的數(shù)據(jù)類型。數(shù)據(jù)類型的表示依賴于實現(xiàn)語言,如有的程序設(shè)計語言規(guī)定浮點數(shù)用保留字“Float”表示,有的則規(guī)定用保留字“Real”表示。Student類9精選2021版課件

數(shù)據(jù)類型可以是任何用戶需要的內(nèi)容,包括:來自程序設(shè)計語言如VisualBasic、C++、C#和Java的任何標(biāo)準(zhǔn)數(shù)據(jù)類型。一個已經(jīng)定義的類。接口定義語言(InterfaceDefinitionLanguage,IDL)中的數(shù)據(jù)類型列表中的數(shù)據(jù)類型。讀者在自己的系統(tǒng)建模中能夠使用的其他類型。10精選2021版課件屬性初始值設(shè)置:可以通過在屬性名稱和數(shù)據(jù)類型之后添加等于號(=)來為屬性指定默認(rèn)值,如下圖所示。11精選2021版課件屬性多重性:多重性為可選項,它表達該類的每個實例的屬性值的個數(shù)??梢韵駪?yīng)用于類之間的關(guān)系中那樣把多重性應(yīng)用于屬性。例如,Student類具有屬性Grades。不希望該屬性只包含單個值,而是希望它包含該學(xué)生的所有成績,可以是任意多個。12精選2021版課件派生的屬性:另一種可以為屬性提供的信息是派生值,它可以使用數(shù)學(xué)函數(shù)、字符串函數(shù)或者將要在應(yīng)用程序中實現(xiàn)的其他商務(wù)邏輯。要想指出一個屬性是派生的,需要在屬性名之前添加一個前斜線(/),并且要附加一個注釋,其中包含了派生屬性值的指令,如下圖所示。13精選2021版課件2.操作(方法)

操作(Operation)表示類能夠提供的功能服務(wù)。它在UML類矩形框中用文字串說明,如下圖所示。

操作名指示類可提供的功能服務(wù),它后跟圓括號中的參數(shù)列表是可選項,即一個操作可以有參數(shù),也可以沒有參數(shù)。參數(shù)列表由逗號分隔的操作的形式參數(shù)組成,其格式為:參數(shù)名:類型=缺省值,…14精選2021版課件Student類返回列表是返回給調(diào)用者的單個變量值,它可以表示該操作程序運行的一個成功標(biāo)志或者計算的值。15精選2021版課件3、類的關(guān)系類之間可以建立四種關(guān)系:關(guān)聯(lián)、依賴、聚合和泛化。其標(biāo)記如下圖所示。16精選2021版課件17精選2021版課件

1)關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系是指類之間的語義聯(lián)系。關(guān)聯(lián)可以具有如下特性:關(guān)聯(lián)名稱角色名稱多重性導(dǎo)航性18精選2021版課件多個類可以關(guān)聯(lián)到同一個類19精選2021版課件多重性:

多重性(mutiplicity)用來指示一個類的多少對象與另一個類的一個對象相關(guān)??梢栽陬愱P(guān)系的任何一端添加多重性,來指示出多重性,如下圖所示。20精選2021版課件

多重性是一個數(shù)值或者數(shù)值范圍,用來指示一個類的幾個對象與另一個類的一個對象相關(guān)。如下圖所示。21精選2021版課件關(guān)聯(lián)的多重性22精選2021版課件角色

類關(guān)系還可以通過添加角色來進一步豐富。在類圖中使用角色可以幫助讀者理解第一個類對于第二個類的作用。角色與多重性顯示在相同的位置,在指示類之間關(guān)系線的上面或者下面,如下圖所示。23精選2021版課件

下圖顯示了player類和Team類在關(guān)聯(lián)中分別扮演兩個角色。24精選2021版課件關(guān)聯(lián)的限定關(guān)聯(lián)的限定

類的關(guān)聯(lián)還可以通過限定條件來明確類之間的關(guān)系。如下圖所示。25精選2021版課件類的自反關(guān)聯(lián)自反關(guān)聯(lián):

類具有到自身的關(guān)聯(lián),稱為自反關(guān)聯(lián)。26精選2021版課件類的自反關(guān)聯(lián)27精選2021版課件關(guān)聯(lián)的導(dǎo)航性

導(dǎo)航性表明類的關(guān)聯(lián)方向。如下圖所示。28精選2021版課件關(guān)聯(lián)和屬性

在類關(guān)聯(lián)和類屬性之間存在精密的聯(lián)系。源類和目標(biāo)類之間的關(guān)聯(lián)意味著源類的對象能夠承載到目標(biāo)類對象的引用。如下圖所示。29精選2021版課件關(guān)聯(lián)類

OO建模的一個普遍問題是,當(dāng)類之間具有多對多關(guān)系時,一些屬性不能容易地放人任何一個類中。例如,下圖所示的公司與員工的類關(guān)系。模型表達意義:每個Person對象能夠為很多Company對象工作。每個Company對象能夠雇傭很多Person對象30精選2021版課件然而,當(dāng)每個Person與雇傭它的Company間存在薪水屬性時會發(fā)生什么呢?薪水記錄在何處呢?記錄在Person類中還是在Company類中?答案是薪水實際上是關(guān)聯(lián)本身的特性,對于Person對象和Company對象之間的每個雇傭鏈接都存在特定雇傭的特定薪水。

UML允許你使用關(guān)聯(lián)類來建模這種情況,如下圖所示。31精選2021版課件

2)依賴關(guān)系

依賴關(guān)系是指一個類的元素使用了另一個類。依賴關(guān)系描述類之間的引用關(guān)系。32精選2021版課件

3)泛化關(guān)系

泛化關(guān)系是描述類之間的繼承關(guān)系。利用泛化來表達類之間的相似性。33精選2021版課件34精選2021版課件練習(xí):閱讀一個類圖在這個練習(xí)中,將會通過識別到目前為止學(xué)習(xí)的UML標(biāo)記符來閱讀下面的類圖,如圖所示。練習(xí)步驟:

1)指出建模的類。

2)指出所有屬性及其顯示的數(shù)據(jù)類型。

3)指出所有顯示的操作。

4)指出找到的關(guān)聯(lián)。

5)指出建模的角色。

6)指出圖中使用的多重性。35精選2021版課件例售票系統(tǒng)的類圖36精選2021版課件上圖中的售票系統(tǒng)類圖,它只是售票系統(tǒng)領(lǐng)域模型的一部分。圖中表示了幾個重要的類,如Customer、Reservation、Ticket和Performance。一個顧客可多次訂票,但每一次訂票只能由一個顧客來執(zhí)行。有兩種訂票方式:個人票或套票,前者只是一張票,后者包括多張票。每場演出都有多張票可供預(yù)定,每張票對應(yīng)一個唯一的座位號。每次演出用劇目名、日期和時間來標(biāo)識。37精選2021版課件三、學(xué)習(xí)如何建模類圖創(chuàng)建類圖需要兩個反復(fù)執(zhí)行的步驟:

1)確定類及其關(guān)聯(lián)。

2)確定屬性和操作。開始創(chuàng)建類圖的好起點就是用例圖。如下面成績管理的用例圖所示。38精選2021版課件39精選2021版課件1.確定類和關(guān)聯(lián)首先要做的是通過分析用例圖確定類及其關(guān)聯(lián)。找到第一批類,確定它們的內(nèi)容。在用例圖中,首先確定了Grades類和ReportCard類。接下來,通過同時使用參與者名稱確定附加的類。這時將會確定Teacher類,Student類和Administrator類。

下面檢查用例圖并且確定各個功能所屬的類:發(fā)布報告卡一Grades類記錄分?jǐn)?shù)一Grades類更新分?jǐn)?shù)一Grades類保存分?jǐn)?shù)一Grades類加載分?jǐn)?shù)一Grades類登錄一?查看分?jǐn)?shù)一Grades類生成報告卡一ReportCard類首先發(fā)現(xiàn)的是登錄沒有所屬的類??梢蕴砑右粋€Logon類來處理Logon用例。40精選2021版課件

現(xiàn)在可以開始創(chuàng)建類的關(guān)聯(lián):

Teacher記錄、更新、查看GradesAdministrator查看Grades、生成ReportCardsStudent查看GradesReportCards包含Grades41精選2021版課件

進一步創(chuàng)建類的關(guān)聯(lián):增添WebSite類和Logon類42精選2021版課件

下一步通過添加多重性讓類圖的信息更加詳細(xì),并且對類圖進行調(diào)整以便保證沒有冗余的類和關(guān)聯(lián)。43精選2021版課件2.確定屬性和操作現(xiàn)在我們已經(jīng)創(chuàng)建好了類和關(guān)聯(lián),可以開始添加屬性和操作以便提供數(shù)據(jù)存儲和需要的功能來完成系統(tǒng)功能。在下圖中可以看到,表示參與者的類沒有顯示屬性和操作,這并不意味著它們不存在,而只是表示類圖不需要該細(xì)節(jié)。44精選2021版課件

最后,為屬性和操作提供參數(shù)、數(shù)據(jù)類型和初始值。如下圖所示:45精選2021版課件練習(xí):建模一個類圖在這個練習(xí)中,將會從用例圖建模一個類圖。讀者應(yīng)該遵循前面介紹的步驟來建模類圖支持如下面用例圖中用例。練習(xí)步驟:

1)確定可以在用例圖中找到的類。

2)創(chuàng)建關(guān)聯(lián)類,給出它們的關(guān)聯(lián)名詞。

3)鞏固相似的類。

4)確定任何合適的角色名。

5)為任何已經(jīng)封裝到另一個類中的獨立功能添加類。

6)添加屬性和操作以便提供類圖中需要的功能。

7)為操作和屬性提供數(shù)據(jù)類型和參數(shù)等信息46精選2021版課件公司直銷系統(tǒng)用例圖47精選2021版課件48精選2021版課件4.2UML擴展類圖一、聚合和組合在前面,已經(jīng)介紹過類之間的簡單關(guān)聯(lián),知道了它們在類圖中使用連接類的單線表示。本節(jié)將介紹如何更好地限定這些關(guān)聯(lián),其方法是以聚合或者組合的形式來定義關(guān)聯(lián)。這兩種新的關(guān)聯(lián)類型都描述了類之間的整體——部分組成關(guān)系。1.聚合

聚合用來描述兩個類之間的整體——部分關(guān)系,其中一個類為整體,它由一個或者多個部分類組成。在聚合中,部分類可以沒有整體類而存在。如下圖所示。49精選2021版課件

例如,CPU和顯示器都可以以獨立類的形式存在,但是當(dāng)它們組成Computer類時,它們就變?yōu)檎麄€計算機的組成部分。50精選2021版課件

通過提供其他的計算機部件,如鍵盤、鼠標(biāo)和揚聲器來擴展該示例,如下圖所示。51精選2021版課件2.組合

組合是一種特殊的聚合關(guān)聯(lián)。在組合關(guān)聯(lián)中用來組成整體類的部分類是不能獨立存在。整體類由部分類組成,部分類需要整體類才能存在。這種關(guān)系意味著銷毀整體類將會同時銷毀部分類。組合關(guān)聯(lián)使用帶有實心菱形的實線連接,如下圖所示。52精選2021版課件由于組合關(guān)聯(lián)指示的部分類是強制的,對于整體類意味著至少有一個多重性。在下面的示例中,整體類數(shù)據(jù)庫由表和查詢組成。這些關(guān)聯(lián)使用組合表示,因為如果沒有數(shù)據(jù)庫,表和查詢也不會存在,如圖所示。53精選2021版課件

另一種建模組合關(guān)聯(lián)的方法稱為圖形容器。使用這種方法,整體類繪制成一個大矩形框,所有的部分類都包含在其中,如下圖所示。54精選2021版課件3.使用帶有泛化的聚合和組合聚合和組合表示的是類之間的關(guān)系,它們可以與泛化結(jié)合來進一步擴展類圖模型,如下圖所示。55精選2021版課件練習(xí):建模聚合關(guān)聯(lián)和組合關(guān)聯(lián)在這個練習(xí)中,將會使用目前為止學(xué)習(xí)到的所有類型的關(guān)系來創(chuàng)建一個類圖,這些關(guān)系包括普通關(guān)聯(lián)、泛化、聚合和組合。讀者將會綜合運用自己的知識從需求構(gòu)造一個類圖。下面是一個制造商和維修店使用的存貨清單系統(tǒng)的需求列表,從這些信息構(gòu)造一個類圖:存貨由兩個部分組成(零件和產(chǎn)品)。產(chǎn)品由兩個或者更多零件組成,系統(tǒng)可以擁有無限多個零件和產(chǎn)品。存貨中的部分零件包括調(diào)速輪、輪齒和加力燃燒室。一名倉庫保管員維護貨存。一名裝配工組裝產(chǎn)品,一名維修員維修產(chǎn)品。完成的產(chǎn)品包括1-3個標(biāo)簽:Manufacturer標(biāo)簽指示產(chǎn)品已經(jīng)完成;Repair標(biāo)簽指示產(chǎn)品已經(jīng)檢修過;FCC標(biāo)簽指示產(chǎn)品中包含加力燃燒室。56精選2021版課件57精選2021版課件二、關(guān)聯(lián)注釋本節(jié)學(xué)習(xí)如何使用約束和鑒別器來標(biāo)注泛化關(guān)聯(lián)。約束用來指示泛化有一個與其相關(guān)的約束。鑒別器用來指示泛化關(guān)系對于兩個相關(guān)的類扮演什么角色。1.約束約束可以預(yù)定義或者由用戶定義。用戶定義的約束可以在系統(tǒng)中具有任何需要的意義。下面介紹幾個UML提供的預(yù)定義約束。掌握了這些預(yù)定義約束之后,讀者就可以生成自己的約束以便更好地符合自己系統(tǒng)需求。有兩種方式用來為泛化建模約束。當(dāng)有兩個或者多個泛化使用相同的約束時,可以繪制虛線穿過兩個泛化,并且在花括號({…})中標(biāo)注約束名。如果只有一個泛化,或者多個泛化共享關(guān)聯(lián)的空箭頭部分,只需在朝向空箭頭的花括號中建模約束即可,如下圖所示。

58精選2021版課件59精選2021版課件第一個要介紹的約束是不完全約束。這種約束表示泛化或者子類化的類清單是不完全的,即類圖中沒有完全顯示出它們。這種約束可以讓讀者知道實際內(nèi)容不止他們在眼前類圖中所看到的,另一個類圖中可能還有,如下圖所示。60精選2021版課件

第二種約束是完全約束。這種約束與不完全約束相反,表示讀者看到的是全部內(nèi)容,如下圖所示。61精選2021版課件

解體約束表示在緊靠約束下面的泛化類不能子類化為通用類。62精選2021版課件重疊約束與解體約束的作用相反。重疊約束表示兩個子類可以共享相同的子類。63精選2021版課件2.鑒別器

鑒別器用來說明泛化的作用。它們指示出泛化關(guān)聯(lián)中的子類應(yīng)用于相關(guān)超類時的角色。鑒別器的標(biāo)記符非常簡單,在關(guān)聯(lián)的空箭頭的旁邊標(biāo)注即可,如下圖所示。64精選2021版課件在下面的示例中,使用了鑒別器來表示Flywheel和Afterbumer子類是Part類的類型,如下圖所示。65精選2021版課件

一個更加詳細(xì)的示例如下圖所示,其中為4個指定了重疊約束的類圖添加了鑒別器。66精選2021版課件三、端點標(biāo)記符討論關(guān)聯(lián)的有序、排序和導(dǎo)航。有序和排序允許向讀者說明與超類相關(guān)的子類指定了特定的順序,而使用導(dǎo)航可以指定處理流遍歷關(guān)聯(lián)關(guān)系的方向。1.有序和排序

有序約束用來說明一個類的對象以某個次序與另一個類的對象相關(guān)。這種標(biāo)記符并沒有指定順序。排序約束表示類中的對象在與關(guān)聯(lián)中其他類對象相關(guān)是排序好的??梢栽谌魏侮P(guān)系的底部添加有序約束和排序約束,如下圖所示。67精選2021版課件2.導(dǎo)航對于讀者前面看到的關(guān)聯(lián),導(dǎo)航都是雙向的??梢詮囊粋€類到另一個類雙向使用關(guān)系中向用戶公開的屬性。如果你不想讓自己的系統(tǒng)或者特定的類關(guān)系以這種方式操作,可以指定單向的導(dǎo)航。導(dǎo)航使用指向被訪問類的開放箭頭表示。68精選2021版課件練習(xí):建模類圖的多個關(guān)聯(lián)在這個練習(xí)中,將使用所有類型的關(guān)聯(lián)以及關(guān)聯(lián)注釋和端點標(biāo)記符來創(chuàng)建一個類圖。綜合運用所學(xué)的知識從需求構(gòu)造一個類圖。下面是前面的貨存清單系統(tǒng)Part類的更加詳細(xì)需求清單,從這些信息構(gòu)造一個類圖。兩個或者多個Parts組裝成一個Product。Product類可以訪問Part類,反之則不行。

3個Parts類型(Flywheel,Cog和Afterburner)不能構(gòu)成貨存清單系統(tǒng)中零件的完整清單,但是這里我們只考慮這3個零件。

Flywheel有兩種不同的規(guī)格:toothflywheel和gearflywheel,它們之間沒有任何相似性。

Afterburner可以分類為turbo或者h(yuǎn)ydro。這兩種類型都可以分拆為ballistic類型。

ballistichydro和ballisticturbo加力燃燒室由plutoniummarbles組成,后者已經(jīng)組裝好。69精選2021版課件70精選2021版課件4.3UML類圖建模案例例1圖書管理系統(tǒng)的類圖建模1、圖書管理系統(tǒng)的用例圖模型如下:

71精選2021版課件72精選2021版課件2.確定類和關(guān)聯(lián)首先要做的是通過分析用例圖確定類及其關(guān)聯(lián)。找到第一批類,確定它們的內(nèi)容。在用例圖中,可首先確定了如下對象類:借閱者(Borrower)類,書刊(Title)類,物理書(Book)類,借閱記錄(Loan),預(yù)定記錄(Reservation),圖書管理員(librarian)等六個類。73精選2021版課件實體類圖3.建立類圖74精選2021版課件用戶界面類圖75精選2021版課件類圖76精選2021版課件類圖77精選2021版課件類圖78精選2021版課件類圖79精選2021版課件練習(xí):對選課系統(tǒng)建模UML類圖80精選2021版課件4.4分析模型和設(shè)計模型中的UML類圖一、分析模型分析模型是在系統(tǒng)需求描述(用例圖模型)的基礎(chǔ)上,對如何構(gòu)造系統(tǒng)給出的系統(tǒng)邏輯結(jié)構(gòu)描述。即把用例圖模型中的用例需求描述推進到分析模型中的如何構(gòu)造系統(tǒng)來實現(xiàn)用例功能。分析模型是系統(tǒng)構(gòu)造的概念模型。分析模型包含如下部分:81精選2021版課件分析模型的組成82精選2021版課件1.分析包分析包是指分析模型中使用的包,它可以包含:分析類用例實現(xiàn)(交互圖)包是UML的分組模型元素的容器,它是把UML圖形元素和圖本身組織到組中的通用機制。包可應(yīng)用在任何UML模型中,如用例圖模型、分析模型、設(shè)計模型等。83精選2021版課件包的UML標(biāo)記84精選2021版課件包的依賴85精選2021版課件包的嵌套86精選2021版課件包的泛化87精選2021版課件構(gòu)架分析88精選2021版課件角色可以通過這三種分析類協(xié)同實現(xiàn)用例的功能。2.分析類分析類是指分析模型中使用的類,它可以包含如下形式:邊界類實體類控制類89精選2021版課件邊界類實體類90精選2021版課件控制類91精選2021版課件1.邊界類

邊界類位于系統(tǒng)和外界角色的交界處,邊界類實現(xiàn)業(yè)務(wù)角色、業(yè)務(wù)員工與用例的交互,它可以是窗體類、報表類,也可以是與信用卡閱讀器、條形掃描器等設(shè)備的接口。

邊界類接收角色的交互信息,有時它還承擔(dān)交互信息的轉(zhuǎn)換任務(wù),邊界類是類的變體。92精選2021版課件2.實體類

實體類負(fù)責(zé)存儲、加工信息,是對用戶最有意義的類,通常用業(yè)務(wù)領(lǐng)域的術(shù)語命名。一般利用數(shù)據(jù)庫對這種實體類建立相應(yīng)表格。實體類是業(yè)務(wù)實體的計算機描述。93精選2021版課件3.控制類

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論