面向?qū)ο笤O(shè)計(jì)的基礎(chǔ)就是使用類。類是用來代表現(xiàn)實(shí)事務(wù)或者功能的構(gòu)造塊。
類圖是由若干類關(guān)聯(lián)在一起,反映系統(tǒng)或者子系統(tǒng)組成結(jié)構(gòu)的靜態(tài)圖。類圖的建模貫穿工程的分析和設(shè)計(jì)階段的始終,通常從商務(wù)伙伴能夠理解的類開始建模,最終往往成為只有開發(fā)小組才能夠完全理解的類。
一、類圖的組成
類圖由如下元素組成:
類(Class):是具有共同結(jié)構(gòu)特征、行為特征、聯(lián)系和語義的對象集合的抽象形式。
關(guān)聯(lián)(Association):它表示類與類之間的關(guān)系。
二、UML類圖中的符號
(一)類
類(Class)在UML中通常以實(shí)線矩形框表示,矩形框中含有若干分隔框,分別包含類的名字、屬性、操作、約束以及其他成分等
在類圖中,根據(jù)建模的不同景象,類圖標(biāo)中不一定列出全部的內(nèi)容。如在建立分析模型或設(shè)計(jì)模型時(shí),甚至可以只列出類名,在圖中著重表達(dá)的是類與類之間的聯(lián)系;在建立實(shí)現(xiàn)
模型時(shí),則應(yīng)當(dāng)在類圖標(biāo)中詳細(xì)給出類的屬性和方法等細(xì)節(jié)。
1. 屬性
屬性(Attribute)在UML類圖標(biāo)的矩形框中用文字串說明
可視性(Visibility)標(biāo)記表示:
+ 公共
#保護(hù)
- 私用
可視性可以用以下關(guān)鍵字表示:public(公共)、 private(私用)、protected(保護(hù))。
若標(biāo)記為“+”或“public”,則為公共屬性,可以被外部對象訪問。
若標(biāo)記為“#’或“ protected”,則為保護(hù)屬性,可以被本類或子類的對象訪問。
若標(biāo)記為“-”或“ private”,則為私用屬性,不可以被外部對象訪問,只能為本類的對象使用。
可視性可以缺省,表示該屬性不可視。
屬性類型表示:
冒號“:”后跟屬性值的數(shù)據(jù)類型。數(shù)據(jù)類型的表示依賴于實(shí)現(xiàn)語言,如有的程序設(shè)計(jì)語言規(guī)定浮點(diǎn)數(shù)用保留字“ Float”表示,有的則規(guī)定用保留字“ Real”表示。
屬性初始值設(shè)置:
可以通過在屬性名稱和數(shù)據(jù)類型之后添加等于號(=)來為屬性指定默認(rèn)值
屬性多重性:
多重性為可選項(xiàng),它表達(dá)該類的每個(gè)實(shí)例的屬性值的個(gè)數(shù)??梢韵駪?yīng)用于類之間的關(guān)系中那樣把多重性應(yīng)用于屬性。例如,Student類具有屬性Grades。不希望該屬性只包含單個(gè)值,而是希望它包含該學(xué)生的所有成績,可以是任意多個(gè)。
2. 操作(方法)
操作(Operation)表示類能夠提供的功能服務(wù)。它在UML類矩形框中用文字串說明
操作名指示類可提供的功能服務(wù),它后跟圓括號中的參數(shù)列表是可選項(xiàng),即一個(gè)操作可以有參數(shù),也可以沒有參數(shù)。參數(shù)列表由逗號分隔的操作的形式參數(shù)組成,其格式為:
參數(shù)名:類型=缺省值,…
返回列表是返回給調(diào)用者的單個(gè)變量值,它可以表示該操作程序運(yùn)行的一個(gè)成功標(biāo)志或者計(jì)算的值。
多重性:
多重性(mutiplicity)用來指示一個(gè)類的多少對象與另一個(gè)類的一個(gè)對象相關(guān)??梢栽陬愱P(guān)系的任何一端添加多重性,來指示出多重性
多重性是一個(gè)數(shù)值或者數(shù)值范圍,用來指示一個(gè)類的幾個(gè)對象與另一個(gè)類的一個(gè)對象相關(guān)。
示例: