《UML使用者指南》學習筆記(九)

來源:互聯網
上載者:User

著作權聲明:轉載時請以超連結形式標明文章原始出處和作者資訊及本聲明
http://jeffrey.blogbus.com/logs/66331.html

第九章 進階類

從第四章到第八章講述的是對基本結構建模的內容,從這一章開始進入了第三部分,對進階結構建模。

類是物件導向系統中最重要的構造塊,但在UML中更一般的構造塊是類元,類僅僅是一種類元。類元包括有:類、介面、資料類型、訊號、構件、節點、用
況和子系統。在第四章講述類的時候只講述了基本特徵(屬性、操作等等),實際描述類元還有很多進階特性(多重性、可見度、特徵標記、多態性和其他特徵)。

①類元(classifier)
一般而言類元是有執行個體、具有結構特徵和行為特徵的建模元素。除了類以外,UML還包含有以下的類元:
⑴介面(interface)
介面用文字描述是類或構件的一個服務的操作集,它和物件導向中的介面是一個概念。
⑵資料類型(datatype)
指其值沒有任何標識的類型,包括簡單的內建類型(如數值和串)以及枚舉類型(如布爾)。
⑶訊號(signal)
對執行個體之間的通訊的非同步激發的描述(不懂)。
⑷構件(component)
它遵循一組介面,並提供了該組介面的實現。
⑸節點(node)
一般用於描述運行時存在的物理元素,如硬體等。
⑹用況(use case)
一組動作序列的描述,系統對它的執行將為特定的參與者產生可觀察的結果值。
⑺子系統(subsystem)
如名字般解釋。

②可見度
對類元的屬性和操作進行詳述的最重要的細節之一就是它的可見度。在第二章說明修飾的時候曾提
到,這裡的可見度是修飾的一種。UML中將可見度分為公有的(public)、受保護的(protected)、私人的(private)三種。這對程式
員而言很容易理解,大多數語言中都有這樣的機制。

③範圍
對類元的屬性和操作進行詳述的另一個重要細節是其擁有者的範圍。在UML中,可以說明兩種範圍:
⑴執行個體(instance)
對一個特徵,類元的每個執行個體均有它自己的值。
⑵類元(classifier)
類元的所有執行個體只有該特徵的一個值。
從程式的角度來描述就是該屬性或方法是否為靜態。

④抽象、根、葉和多態性元素
實際講的是關於抽象類別,以及它的子類對其抽象方法實現的描述。

⑤多重性
並非每一個類元都可以有任意個執行個體,有的時候我們希望一個類只有一個執行個體,這在程式中也很多見,多重性用來描述類元可以擁有執行個體的個數。

⑥屬性
屬性的完整文法形式如下:
[可見度]屬性名稱[多重性][:類型][=初始值][{特性串}]
UML中定義了3種用於屬性的特性:
⑴可變(changeable)
對修改屬性值沒有約束
⑵只增(addonly)
對於多重性大於1的屬性,可以增加附加值,但一旦被建立,九不可對值進行消除或改變。
⑶凍結(frozen)
在初始化對象後,就不允許改變屬性值。在程式中表現為常量。

⑦操作
操作的完整文法形式如下:
[可見度]操作名[(參數表)][:傳回型別][{特性串}]
其中參數的文法形式如下:
[方向]參數名:類型[=預設值](有關"方向"不理解,可能和程式設計語言有關)
有四種用於描述操作的特性:
⑴查詢(isQuery)
執行該操作不會改變系統的狀態。
⑵順序(sequential)
執行該操作要保證在一個對象中一次僅有一個流,在多控制流程下,不能保證對象的語義和完整性。
⑶監護(guarded)
在多控制流程下也保證對象的語義和完整性。
⑷並發(concurrent)
不懂,總之它和上面兩個特性來描述操作的並發特性。

⑧模板類
與JAVA無關,難懂。

⑨標準元素
UML定義了多種用於類的標準構造型:元類、強型別、構造型、公用程式、介面、類型、實作類別、參與者、例外狀況事件、訊號、進程、線程等。實際這應該是屬於UML已經存在的對類使用擴充機制形成的新構造塊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.