轉載:http://jeffrey.blogbus.com/logs/65785.html
前面3個章節講述的是UML的入門知識,屬於《UML使用者指南》的第一部分。從第四章開始進入了第二部分,這個部分是對基本結構建模的描述,這個部分包含5個章節。
第四章 類(class)
這裡的類的概念和物件導向中類的概念是一致的,代表的是一種類型的對象,而不是個體對象(執行個體)。
對類的描述可以從下面幾個方面來進行:
⑴名稱(name)
為類定義一個有別於其他類的名稱,簡單的名稱叫Simple Name,帶有包名的名稱叫Path Name。
⑵屬性(attribute)
屬性是類的一些特性,是對類的一種資料或狀態的抽象。
⑶操作(operation)
在程式中體現為方法,是對類能做的事情的抽象。可以通過操作的特徵標記(參數的名稱、類型、預設值、傳回型別)來詳細描述操作。
⑷對屬性和操作的組織
一個類可能包含眾多的屬性和操作,在畫一個類時不必把每個屬性和操作都顯示出來,可以只顯示一些與當前的圖(diagram)相關的屬性和操作。當屬性和操作的列表很長時,也可以利用構造型對屬性和操作進行分類,使得列表更容易被瀏覽。
⑸職責
職責就是對類的功能的描述,詳細描述一個類的職責是對類建模的一個好的開始點。
⑹其他特徵
一般來說屬性、操作和職責基本可以描述一個類的特徵了,但有一些特殊類還需要其他的方式來描述它的特性,例如對異常的描述,這些被列為類的進階概念,在第9章討論。
在UML中以上的特徵都用圖形的方式表現出來,在編程中我們也用程式碼來描述了這些特徵,例如這裡的屬性對應程式中的屬性,操作對應程式中的方
法),職責對應對類的總描述(在JAVA中就是每個類的描述,寫在public class
...之前的注釋),因此很多建模工具都可以通過UML圖來直接產生程式碼。
類在建模技術中通常應用於:
⑴對系統詞彙建模
也就是把系統中的對象抽象出來用類來描述。
⑵對系統中職責的分布建模
將系統的職責均衡的分布到各個類中,大概是用於設計控制類時。
⑶對非軟體事物建模
通常是系統外部的事物,但參與系統內部的運作。
⑷對簡單類型建模
例如自訂的枚舉類型。