靜態(tài)圖第3章類圖對象圖和包圖_第1頁
靜態(tài)圖第3章類圖對象圖和包圖_第2頁
靜態(tài)圖第3章類圖對象圖和包圖_第3頁
靜態(tài)圖第3章類圖對象圖和包圖_第4頁
靜態(tài)圖第3章類圖對象圖和包圖_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第3章 類圖、對象圖和包圖使用面向對象的思想描述系統(tǒng),能夠把復雜的系統(tǒng)簡單化、直觀化,這有利于用面向對象的程序設計語言實現(xiàn)系統(tǒng),并有利于未來對系統(tǒng)的維護。構成面向對象模型的基本元素有類、對象和類與類之間的關系等。類圖和對象圖合稱為結構模型視圖或者靜態(tài)視圖,用于描述系統(tǒng)的結構或靜態(tài)特征。其中,類圖用來描述系統(tǒng)中的類以及類與類之間的靜態(tài)關系等;對象用來描述特定時刻實際存在的若干對象以及它們之間的關系。一個系統(tǒng)的模型中可以包含多個對象圖,每個對象圖描述了系統(tǒng)在某個特定時刻的狀態(tài)。人們?yōu)榱丝刂片F(xiàn)實系統(tǒng)的復雜性,通常會將系統(tǒng)分成較小的單元,以便一次只處理有限的信息。uml提供了包這一機制,使用它可以把系

2、統(tǒng)劃分成較小的便于處理的單元。本章主要介紹類、類圖、對象、對象圖、類與類之間的關系以及包圖等內容,并且還將創(chuàng)建圖書管理系統(tǒng)的類圖。本章學習要點: 理解類圖的基本概念 為系統(tǒng)建模類 建模類之間的關聯(lián)關系 理解并建模泛化關系 了解依賴關系和實現(xiàn)關系 了解對象圖和包圖的概念 構造類圖3.1 類圖構建面向對象模型的基礎是類、對象以及它們之間的關系??梢栽诓煌愋偷南到y(tǒng)(例如,商務軟件、嵌入式系統(tǒng)、分布式系統(tǒng)等)中應用面向對象技術,在不同的系統(tǒng)中描述的類可以是各種各樣的。例如,在某個商務信息系統(tǒng)中,包含的類可以是顧客、協(xié)議書、發(fā)票、債務等;在某個工程技術系統(tǒng)中,包含的類可以有傳感器、顯示器、i/o卡、發(fā)

3、動機等。在面向對象的處理中,類圖處于核心地位,它提供了用于定義和使用對象的主要規(guī)則,同時,類圖是正向工程(將模型轉化為代碼)的主要資源,是逆向工程(將代碼轉化為模型)的生成物。因此,類圖是任何面向對象系統(tǒng)的核心,類圖隨之也成了最常用的uml圖。3.1.1 概述類圖是描述類、接口以及它們之間關系的圖,它顯示了系統(tǒng)中各個類的靜態(tài)結構,是一種靜態(tài)模型。類圖根據(jù)系統(tǒng)中的類以及各個類的關系描述系統(tǒng)的靜態(tài)視圖??梢杂媚撤N面向對象的語言實現(xiàn)類圖中的類。類圖是面向對象系統(tǒng)建模中最常用和最基本的圖之一,其他許多圖,如狀態(tài)圖、協(xié)作圖、組件圖和配置圖等都是在類圖的基礎上進一步描述了系統(tǒng)其他方面的特性。類圖可以包含類

4、、接口、依賴關系、泛化關系、關聯(lián)關系和實現(xiàn)關系等模型元素。在類圖中也可以包含注釋、約束、包或子系統(tǒng)。類圖用于對系統(tǒng)的靜態(tài)視圖(它用于描述系統(tǒng)的功能需求)建模,通常以如下所示的某種方式使用類圖: 對系統(tǒng)的詞匯建模 在進行系統(tǒng)建模時,通常首先構造系統(tǒng)的基本詞匯,以描述系統(tǒng)的邊界。在對詞匯進行建模時通常需要判斷哪些抽象是系統(tǒng)的一部分,哪些抽象位于系統(tǒng)邊界之外。 對協(xié)作建模 協(xié)作是一些協(xié)同工作的類、接口和其他元素的共同體,其中元素協(xié)作時的功能強于它們單獨工作時的功能之和。系統(tǒng)分析員可以用類圖描述圖形化系統(tǒng)中的類及它們之間的關系。 對數(shù)據(jù)庫模式建模 在很多情況下,都需要在關系數(shù)據(jù)庫中存儲永久信息,這時,

5、可以使用類圖對數(shù)據(jù)庫模式進行建模。圖3-1是一個類圖示例,舉此例的目的在于使讀者對類圖有一個直觀淺顯的了解,并起到一個引導作用,下面要介紹的內容將會逐步澄清你在看到這幅圖時遇到的疑惑。類圖示例通過分析用例和問題域,可以建立系統(tǒng)中的類,然后再把邏輯上相關的類封裝成包,這樣就可以直觀清晰地展現(xiàn)出系統(tǒng)的層次關系。3.1.2 類及類的表示類是構成類圖的基礎,也是面向對象系統(tǒng)組織結構的核心。要使用類圖,需要了解類和對象之間的區(qū)別。類是對資源的定義,它所包含的信息主要用來描述某種類型實體的特征以及對該類型實體的使用方法。對象是具體的實體,它遵守類制定的規(guī)則。從軟件的角度看,程序通常包含的是類的集合以及類所

6、定義的行為,而實際創(chuàng)建信息和管理信息的是遵守類的規(guī)則的對象。類定義了一組具有狀態(tài)和行為的對象,這些對象具有相同的屬性、操作、關系和語義。其中,屬性和關聯(lián)用來描述狀態(tài)。屬性通常用沒有身份的數(shù)據(jù)值表示,如數(shù)字和字符串。關聯(lián)則用有身份的對象之間的關系來表示。行為由操作來描述,方法是操作的 實現(xiàn)。為了支持對身份、屬性和操作的定義,uml規(guī)范采用一個具有3個預定義分欄的圖標表示類,分欄中包含的信息有:名稱、屬性和操作,它們對應著類的基本元素,如圖3-2所示。當將類繪制在類圖中時,名稱分欄是必須出現(xiàn)的分欄,而屬性分欄和操作分欄則可以出現(xiàn)或不出現(xiàn)。圖3-2顯示了所有的分欄,另外3種形式如圖3-3所示。 類的

7、3種預定義的分欄表示類的幾種形式當隱藏某個分欄時,并非表明某個分欄不存在;只顯示當前需要注意的分欄可以使圖形更加直觀清晰。類在它的包含者(可以是包或者另一個類)內必須有唯一的名稱。類對它的包含者來說是可見的,可見性規(guī)定了類能夠怎樣被位于可見者之外的類所使用。類的多重性說明了類可以具有多少個實例,通常情況下,可以有0個或多個;關于類的多重性的概念,在本章后面會詳細介紹。下面將詳細介紹類的名稱、屬性和操作在類圖中的具體表示方法和含義。1名稱類名采用黑體字書寫在名稱分欄的中部。給類命名時最好能夠反映類所代表的問題域中的概念,并且要清楚準確,不能含糊不清;類名通常表示為一個名詞,既不帶前綴,也不帶后綴

8、。類名可分為簡單名稱和路徑名稱。簡單名稱只有類名沒有前綴;路徑名稱中可以包含由類所在包的名稱表示的前綴,如圖3-4所示。類的簡單名稱和路徑名稱其中,employee是類的名稱,person是employee類所在包的名稱。2屬性類的屬性,也稱為特性,描述了類在軟件系統(tǒng)中代表的事物(即對象)所具備的特性,這些特性是該類的所有對象所共有的。對象可能有很多屬性,在系統(tǒng)建模時,只抽取那些對系統(tǒng)有用的特性作為類的屬性,通過這些屬性可以識別該類的對象。例如,可將姓名、出生年月、所在部門、職稱等特性作為類employee的屬性。從系統(tǒng)處理的角度來看,在事物的特性中,只有其值能被改變的那些才可以作為類的屬性。

9、一個類可以有0個或多個屬性。在uml中,描述類屬性的語法格式如下所示:可見性 屬性名 :類型 =初始值 屬性字符串在定義屬性時,除了屬性名之外,其他內容都是可有可無的,可以根據(jù)需要選用上面列出的某些項。下面對以上格式中的各項進行解釋。位于屬性名前面的是可見性??梢娦杂糜谥付ㄋ枋龅膶傩阅芊癖黄渌愒L問,以及能以何種方式訪問。最常用的可見性類型有3種,分別為:公有(public)、私有(private)和被保護(protected)類型。被聲明為public的屬性和操作可以在它所在類的外部被查看、使用和更新。在類里被聲明為public的屬性和操作共同構成了類的公共接口。類的公共接口由可以被其他

10、類訪問及使用的屬性和操作組成,這表示為公共接口是該類與其他類的聯(lián)系的部分。類的公共接口應盡可能減少變化,以防止任何使用該類的地方有不必要的改變。對于是否應該聲明為public屬性是有不同的觀點的。許多面向對象的設計者對public屬性存在抱怨,因為這會將類的屬性向系統(tǒng)的其余部分公開,就違反了面向對象的信息隱蔽的原則。因此,最好避免使用public屬性。被聲明為protected的屬性和操作可以被類的其他方法訪問,也可以被任何相應繼承類所聲明的方法訪問,但是非繼承的類無法訪問protected屬性和操作。即使用protected聲明的屬性和操作只可以被該類和該類的子類使用,而其他類無法使用。pr

11、ivate可見性是限制最為嚴格的可見性類型,只有包含private元素的類本身才能使用private屬性中的數(shù)據(jù),或者調用private操作。除了以上3種類型的可見性之外,其他類型的可見性可由程序設計語言進行定義。需要注意的是,公有和私有可見性一般在表達類圖時是必需的。在uml中,public類型用符號“+”表示,private類型用符號“”表示,protected類型用符號“#”表示。如果在屬性的左邊沒有標識任何符號,表明該屬性的可見性尚未定義,而并非取了默認的可見性,在uml中并未規(guī)定默認的可見性。這幾種符號在類中的表示如圖3-5、圖3-6所示。 可見性的表示類變量的表示在上兩圖中,屬性e

12、mpno、empbirth是類employee的私有屬性,empnumber是公有屬性,empname是被保護的屬性,這些屬性的可見性是由它們的名字左邊的符號指 定的。在可見性的右邊是屬性名。類的屬性是類定義的一部分,每個屬性都應有唯一的屬性名,以標識該屬性并以此區(qū)別其他屬性。屬性名通常由描述所屬類的特性的名詞或名詞短語表示。按照約定,屬性名用小寫字母表示,當屬性名需要使用多個單詞時,要將這幾個單詞合并起來,并且從第二個單詞起,每個單詞的首字母都應是大寫形式。對于每個屬性,都應為其指定所屬的數(shù)據(jù)類型。常用的數(shù)據(jù)類型有整型、實型、布爾型、枚舉型等,這些類型在不同的編程語言中可能有不同的定義;可以

13、在uml中使用目標語言中的類型表達式,這在軟件開發(fā)的實施階段是非常有用的。除此之外,屬性的數(shù)據(jù)類型還可以使用系統(tǒng)中的其他類或者用戶自定義的數(shù)據(jù)類型。在定義了類的屬性之后,類的所有對象的狀態(tài)由其屬性的特定值所決定??梢詾閷傩栽O置初始值。設置初始值可以防止因漏掉某些取值而破壞系統(tǒng)的完整性,并為用戶提供易用性。為employee類的有關屬性指定了數(shù)據(jù)類型和初始值后的圖形化表示如圖3-7所示。如圖3-7所示,屬性和數(shù)據(jù)類型之間要用冒號分隔,數(shù)據(jù)類型與初始值之間用等號分隔,該圖是使用microsoft visio畫的,所以冒號和等號都是該軟件自動添加的(本章中的其他模型圖還有使用rational ros

14、e畫的,這兩種工具在使用時各有優(yōu)缺點,讀者可以根據(jù)不同的情況進行選用)。描述類屬性的語法格式中的最后一項是屬性字符串。屬性字符串用來指定關于屬性的其他信息,例如,某個屬性應該是永久的??梢园严M砑拥綄傩缘亩x中但又找不到合適地方的規(guī)則放在屬性字符串中。除此之外,還有一種類型的屬性,它能被所屬類的所有對象共享,這就是類的作用域屬性,或者叫做類變量(例如,java類中的靜態(tài)變量)。這類屬性在類圖中表示時要在屬性名的下面加一條下劃線。例如,將類employee中的empnumber屬性更改為類變量,可用圖3-6中的形式表示。這時,對屬于employee類的所有對象來說,empnumber的值都是一

15、樣的。有時候屬性代表一個以上的對象。事實上,屬性能代表其類型的任意數(shù)目的對象。在程序設計時這樣的屬性用一個數(shù)組來實現(xiàn)。這體現(xiàn)了面向對象中對象之間關聯(lián)的多重性,多重性允許用戶指定屬性實際上代表一組對象集合,而且能夠應用于內置屬性及關聯(lián)屬性。如圖3-8所示,由于一個學生可以借閱多本圖書,所以一個student類對應了多個book類。 屬性的數(shù)據(jù)類型和初始值 屬性對應的多重性事實上當為類定義屬性時,總是要使用類作為屬性的數(shù)據(jù)類型。例如,屬性stuid其實質上是一個字符串對象。3操作屬性僅僅描述了要處理的數(shù)據(jù),而操作則描述了處理數(shù)據(jù)的具體方法。類的操作是對其所屬對象的行為的抽象,相當于一個服務的實現(xiàn),

16、且該服務可以由類的任何對象請求以影響其行為。屬性是描述對象特征的值,操作用于操縱屬性或執(zhí)行其他動作。操 作可以看作是類的接口,通過該接口可以實現(xiàn)內、外信息的交互,操作的具體實現(xiàn)稱為方法。某類的操作只能作用于該類的對象。一個類可以有0個或多個操作。操作由返回值類型、名稱和參數(shù)表進行描述。在uml中,用于描述操作的語法形式為:可見性 操作名 (參數(shù)表) :返回類型 屬性字符串下面對該形式進行解釋。類中操作的可見性包括公有(public)、私有(private)、受保護(protected)和包內公有(package)幾種類型,在模型圖中,它們可分別用“+”、“”、“#”和“”來表示。如果某一對象能

17、夠訪問操作所在的包,那么該對象就可以調用可見性為公有的操作;可見性為私有的操作只能被其所在類的對象訪問;子類的對象可以調用父類中可見性為公有的操作;可見性為包內公有的操作可以被其所在包的對象訪問。在為系統(tǒng)建模時,操作名通常使用能夠描述類的行為的動詞或者動詞短語,操作名的第一個字母通常使用小寫形式,當操作名包含多個單詞時,要合并起來,從第二個單詞起,所有單詞的首字母都是大寫形式。參數(shù)用來指定提供給操作以完成工作的信息。操作可以有參數(shù),也可以沒有參數(shù)。當參數(shù)表中包含多個參數(shù)時,各參數(shù)之間要用逗號分隔開。例如,在student類中,newstudnet操作將創(chuàng)建一個student對象,當創(chuàng)建該對象時

18、需要知道學生學號、學生姓名和所屬院系等信息。如圖3-9所示。當參數(shù)具有默認值時,如果操作的調用者沒有為該參數(shù)提供相應的值,那么該參數(shù)將自動具有指定的默認值。操作除了具有名稱與參數(shù)外,還可以有返回類型。返回類型被指定在操作名稱尾端的冒號之后,它指定了該操作傳回的對象類型,如圖3-10所示。雖然沒有返回值時可以不注明返回值的類型,但是在具體的編程語言中,可能需要添加關鍵字void來表示無返回值。 操作中的參數(shù)類中的操作如圖3-10所示,除了可以提供每一個參數(shù)名及其數(shù)據(jù)類型外,還可以指定參數(shù)子句in、out或者inout。in是默認的參數(shù)子句。通過值傳遞的參數(shù)使用in參數(shù)子句,或者不使用任何參數(shù)子句

19、。通過值傳遞參數(shù)意味著把數(shù)據(jù)的副本發(fā)送到操作,因而,操作不會改變值的主備份。如果希望修改傳遞到操作的參數(shù)值的主備份,需要使用inout類型的參數(shù)子句標記參數(shù),這意味著值通過引用傳遞,操作中任何對參數(shù)值的修改也就是對變量主備份的修改。除此之外,還有一種out參數(shù)子句,使用該參數(shù)子句時,值不是被傳遞給操作,而是由操作把值返回給參數(shù)。當需要在操作的定義中添加一些預定義元素之外的信息時,可以將它們作為屬性字符串。4職責可以在類標記中操作分欄的下面另加一個分欄,用于說明類的職責。所謂的職責是指類或其他元素的契約或者義務。在創(chuàng)建一個類時,聲明該類的所有對象具有相同的狀態(tài)和相同的行為,這些屬性和操作正是要完

20、成類的職責。描述類的職責可以使用一個短語、一個句子或者若干句子。5約束在類的標記中說明類的職責是消除二義性的一種非形式化的方法,而使用約束則是一種形式化的方法。約束指定了類應該滿足的一個或者多個規(guī)則。約束在uml規(guī)范中是用由花括號括起來的文本表示的。除此之外,還可以在類圖中使用注釋,以便為類添加更多的說明信息,注釋可以包含文本和圖形。如圖3-11所示。為類添加注釋3.1.3 定義類由于類是構成類圖的基礎,所以,在構造類圖之前,首先要定義類,也就是將系統(tǒng)要處理的數(shù)據(jù)抽象為類的屬性,將處理數(shù)據(jù)的方法抽象為類的操作。要準確地定義類,需要對問題域有透徹準確的理解。在定義類時,通常應當使用問題域中的概念

21、,并且,類的名字要用類實際代表的事物進行命名。通過自我提問和回答下列問題,將有助于在建模時準確地定義類: 在要解決的問題中有沒有必須存儲或處理的數(shù)據(jù),如果有,那么這些數(shù)據(jù)可能就需要抽象為類,這里的數(shù)據(jù)可以是系統(tǒng)中出現(xiàn)的概念、事件或者僅在某一時刻出現(xiàn)的事務。 有沒有外部系統(tǒng),如果有,可以將外部系統(tǒng)抽象為類,該類可以是本系統(tǒng)所包含的類,也可以是能與本系統(tǒng)進行交互的類。 有沒有模板、類庫或者組件等,如果有,這些可以作為類。 系統(tǒng)中有什么角色,這些角色可以抽象為類,例如,用戶、客戶等。 系統(tǒng)中有沒有被控制的設備,如果有,那么在系統(tǒng)中應該有與這些設備對應的類,以便能夠通過這些類控制相應的設備。通過自我提

22、問和回答以上列出的問題有助于在建模時發(fā)現(xiàn)需要定義的類;但定義類的基本依據(jù)仍然是系統(tǒng)的需求規(guī)格說明,應當認真分析系統(tǒng)的需求規(guī)格說明,進而確定需要為系統(tǒng)定義哪些類。3.2 關聯(lián)關系在使用面向對象的思想和方法開發(fā)的系統(tǒng)中,使用類來描述應用程序所需資源的類型、目的和它們所提供的特征(例如屬性和操作)。除了需要使用類定義軟件所需的資源之外,在建模過程中還需要描述資源之間的交互情況,以解釋對象之間是如何進行通信的。為了進行通信,對象之間也需要定義通信手段,在uml規(guī)范中,對象之間的通信手段就稱為關系。類圖中的關聯(lián)定義了對象之間的關系準則,在應用程序創(chuàng)建和使用關系時,關聯(lián)提供了維護關系完整性的規(guī)則。軟件中也

23、會出現(xiàn)一個對象是其他一些對象的集合的情況,這種集合類型的關聯(lián)被稱為聚合,它用于模擬對象之間的復雜關系。在uml中,還存在一種更嚴格的集合關聯(lián),即組合;在組合關系中,集合一方的生命周期完全取決于另一方的存在。類關系的強弱基于該關系所涉及的各類間彼此的依賴程度。彼此相互依賴較強的兩個類稱為緊密耦合。在這種情況下,一個類的改變極可能影響到另一個類。緊密耦合通常是一個壞事。3.2.1 二元關聯(lián)關聯(lián)意味著類實際上以屬性的形式包含對其他類的一個或多個對象的引用。在確定了參與關聯(lián)的類之后,就可以對關聯(lián)進行建模了。本章首先討論只有兩個類參與的關聯(lián),即二元關聯(lián),稍后將會介紹多于兩個類參與的關聯(lián),即n元關聯(lián)。在類

24、圖中,二元關聯(lián)定義了兩個類的對象之間的關系準則,關聯(lián)定義了什么是允許的,什么是不允許的。如果兩個類在類圖中具有關聯(lián)關系,那么在對象圖中,這兩個類的相應對象所具有的關系被稱為鏈。關聯(lián)描述的是規(guī)則,而鏈描述的是事實。圖3-12演示了類person和類car之間的關聯(lián)關系。類person定義了人對象及其功能,類car則定義了小汽車對象及其功能,兩者之間的關聯(lián)是一種單一類型的關系,存在于兩者的對象之間,解釋了這些對象需要通信的原因。如圖3-13所示,一個完整的關聯(lián)定義包含了3個部分:表示類之間關聯(lián)關系的直線和兩個關聯(lián)端點。其中,直線以及關聯(lián)名稱定義了該關系的標志和目的,關聯(lián)端點定義了參與關聯(lián)的對象所應

25、遵循的規(guī)則。在uml規(guī)范中,關聯(lián)端點是一個元類,它擁有自己的屬性,例如,多重性、約束、角色等。 關聯(lián)示例 關聯(lián)的組成1關聯(lián)的名稱關聯(lián)的名稱表達了關聯(lián)的內容,含義確切的名稱使人更容易理解,如果名稱含糊不清,就容易引起誤解和爭論,導致建模開銷的增加和建模效率的降低。一般情況下,使用一個動詞或者動詞短語命名關聯(lián)關系。圖3-14顯示的是同一關聯(lián)的兩個不同的名稱,即“holds”和“is holded by”。關聯(lián)的名稱在命名關聯(lián)關系時存在如下假定:如果要從相反的方向理解該關聯(lián),只需將關聯(lián)名稱的意義反過來理解。例如,圖3-14中的關聯(lián)可以理解為“person對象擁有car對象”,如果從相反的方向理解也是

26、可以的,即“car對象被person對象擁有”。因而,對于圖3-14中的關聯(lián),只需建立其中一個模型即可。在圖3-14中,使用了方向指示符,就是那兩個黑三角。通常情況下,人們喜歡從左到右地閱讀,所以,當希望讀者從右向左閱讀時,應使用某種方法告訴讀者,這時,就可以使用方向指示符??梢詫⒎较蛑甘痉旁陉P聯(lián)名稱的某一側,以向讀者說明應如何理解關聯(lián)名稱。在圖3-14中,兩個關聯(lián)名稱都使用方向指示符,其實第一個不必使用,因為該名稱的閱讀順序符合人們的閱讀習慣;只有在閱讀順序不符合人們的閱讀習慣時,才有必要使用方向指示符。對關聯(lián)進行命名是為了清晰而簡潔地說明對象間關系的目的,關系的目的用于指導對對象之間的通

27、信方式進行定義,同時決定每個對象在通信中所扮演的角色。2關聯(lián)的端點為了定義對象在關聯(lián)中所扮演的角色,uml將關聯(lián)中的每個端點都作為具有相應規(guī)則的獨立實體。因而,在“holds”關聯(lián)中,person對象的參與跟car對象的參與是不 同的。每個關聯(lián)端點都包含了如下的內容:端點上的對象在關聯(lián)中扮演什么角色,有多少對象可以參與關聯(lián),對象之間是否按一定的順序進行排列,是否可以用對象的一些特征對該對象進行訪問,以及一個端點的對象是否可以訪問另一個端點的對象等。關聯(lián)端點可以包含諸如角色、多重性、定序、約束、限定符、導航性、可變性等特征中的部分或者全部。下面將討論這些特征。3關聯(lián)中的角色任何關聯(lián)關系中都涉及到

28、與此關聯(lián)有關的角色,也就是與此關聯(lián)相連的類的對象所扮演的角色。在圖3-15中,人在“欣賞”這一關聯(lián)關系中扮演的是觀眾這一角色;演出是演員表演的結果,因而performance對象所扮演的角色就是演員。 關聯(lián)中的角色與關聯(lián)名稱相比,角色名稱從另外一個角度描述了不同類型的對象是如何參與關聯(lián)的。關聯(lián)中的角色通常用字符串命名。在類圖中,角色名通常放在與此角色有關的關聯(lián)關系(代表關聯(lián)關系的直線)的末端,并且緊挨著使用該角色的類。角色名不是類的組成部分,一個類可以在不同的關聯(lián)中扮演不同的角色。由于角色名稱和關聯(lián)名稱都被用來描述關系的目的,所以角色名稱可以代替關聯(lián)名稱,或者兩者同時使用。例如,在圖3-15中,前面的模型同時使用了關聯(lián)名稱和角色名稱,后面的模型只使用了角色名,這

溫馨提示

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

評論

0/150

提交評論