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