什麼是類圖使用類圖的方法
類圖是顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關係等。那麼你對類圖瞭解多少呢?以下是由小編整理關於什麼是類圖的內容,希望大家喜歡!
類圖的概述
類圖***Class diagram***由許多***靜態***說明性的模型元素***例如類、包和它們之間的關係,這些元素和它們的內容互相連線***組成。類圖可以組織在***並且屬於***包中,僅顯示特定包中的相關內容。
類圖***Class diagram***是最常用的UML圖,顯示出類、介面以及它們之間的靜態結構和關係;它用於描述系統的結構化設計。
類圖***Class diagram***最基本的元素是類或者介面。
使用類圖的方法
為系統詞彙建模型
為系統的詞彙建模實際上是從詞彙表中發現類,發現它的責任。
模型化簡單的協作
協作是指一些類、介面和其他的元素一起工作提供一些合作的行為,這些行為不是簡單地將元素加能得到的。例如:當你為一個分散式的系統中的事務處理過程建模型時,你不可能只通過一個類來明白事務是怎樣進行的,事實上這個過程的執行涉及到一系列的類的協同工作。使用類圖來視覺化這些類和他們的關係。
模型化一個邏輯資料庫模式
想象模式是概念上設計資料庫的藍圖。在很多領域,你將想儲存永續性資料到關係資料庫或面向物件的資料庫。你可以用類圖為這些資料庫模式建立模型。
類***Class***
一般包含3個組成部分。第一個是類名;第二個是屬性***attributes***;第三個是該類提供的方法*** 類的性質可以放在第四部分;如果類中含有內部類,則會出現第五個組成部分***。類名部分是不能省略的,其他組成部分可以省略。
類名書寫規範:正體字說明類是可被例項化的,斜體字說明類為抽象類。
屬性和方法書寫規範:修飾符 [描述資訊] 屬性、方法名稱 [引數] [:返回型別|型別]
屬性和方法之前可附加的可見性修飾符:
加號***+***表示public;減號***-***表示private;#號表示protected;省略這些修飾符表示具有package***包***級別的可見性。
如果屬性或方法具有下劃線,則說明它是靜態的。
描述資訊使用 << 開頭和使用 >> 結尾。
類的性質是由一個屬性、一個賦值方法和一個取值方法組成。書寫方式和方法類似。
包***Package***
包是一種常規用途的組合機制。UML中的一個包直接對應於Java中的一個包。在Java中,一個包可能含有其他包、類或者同時含有這兩者。進行建模時,通常使用邏輯性的包,用於對模型進行組織;使用物理性的包,用於轉換成系統中的Java包。每個包的名稱對這個包進行了惟一性的標識。
介面***Interface***
介面是一系列操作的集合,它指定了一個類所提供的服務。它直接對應於Java中的一個介面型別。介面的表示有大概兩種方式。具體畫法見下例:
關係
常見的關係有:繼承***Inheritance***,關聯關係***Association***,聚合關係***Aggregation***,複合關係***Composition***,依賴關係***Dependency***。
其中,聚合關係***Aggregation***,複合關係***Composition***屬於關聯關係***Association***。
一般關係表現為繼承或實現關係***is a***,關聯關係表現為變數***has a ***,依賴關係表現為函式中的引數***use a***。
一般化關係:表示為類與類之間的繼承關係,介面與介面之間的繼承,類對介面的實現關係。
表示方法: 用一個空心箭頭+實線,箭頭指向父類。或空心箭頭+虛線,如果父類是介面。
關聯關係:類與類之間的聯接,它使一個類知道另一個類的屬性和方法。
表示方法:用 實線+箭頭, 箭頭指向被使用的類。
聚合關係:是關聯關係的一種,是強的關聯關係。聚合關係是整體和個體的關係。關聯關係的兩個類處於同一層次上,而聚合關係兩個類處於不同的層次,一個是整體,一個是部分。
表示方法:空心菱形+實線+箭頭,箭頭指向部分。
合成關係:是關聯關係的一種,是比聚合關係強的關係。它要求普通的聚合關係中代表整體的物件負責代表部分的物件的生命週期,合成關係不能共享。
表示方法:實心菱形+實線+箭頭,
依賴關係:是類與類之間的連線,表示一個類依賴於另一個類的定義。例如如果A依賴於B,則B體現為區域性變數,方法的引數、或靜態方法的呼叫。
表示方法:虛線+箭頭 箭頭指向被依賴的一方,也就是指向區域性變數。
使用類圖的方法