天天看點

UML之對象圖

       對象圖對包含在類圖中的事物的執行個體模組化,對象圖顯示了在某一時間點上一組對象以及他們之間的關系。對象圖用于對系統的靜态設計視圖或靜态互動視圖模組化,這包括對某一時刻的系統快照模組化,表示出對象集、對象的狀态以及對象之間的關系。

      舉個簡單的例子,我們大家都有看足球競賽的經驗,足球競賽是一種極其簡單的運動,即一群人在一塊地上瘋狂地追逐一個白色的球,在電視機前的我們,隻是比較模糊的觀看着運動員的踢球狀态,難以察覺到細微之處和每個運動員特有的踢球風格。這個時候,從對象的角度來說,我們可以把運動暫停一下,就可以區分出各個球員,并顯現出一幅與前者很不相同的比賽畫面。不再是一群人,現在能夠區分出前鋒、前衛和後衛。更深一步地,可以明白這些球員如何協作,他們用怎樣的政策去守門、運球、搶球和進攻。好了,現在我們一起來學習一下對象圖的相關内容,首先我們來了解一下對象圖這一章的主要内容:

UML之對象圖

      首先,我們來了解一下類的概念以及類具有哪些特征:

UML之對象圖

      通過了解,我們知道類和對象之間有着微妙的關系,接下來,我們就一起來比較一下類和對象:

UML之對象圖

      說到類和對象,我們很容易想到類圖和對象圖,我們以車為例,畫一個類圖:

UML之對象圖

     我們知道,車可以抽象成一個類,輪子和引擎屬于車的一個對象,再以車為例子,看看她的對象圖又是如何的呢:

UML之對象圖

      那麼,我們到底如何繪制對象圖呢?以及如何閱讀對象圖呢?見下圖:

UML之對象圖

     每個圖,都有自己存在的意義,以及自己的價值,那對象圖具體在那些方面有着重要的應用:

UML之對象圖

       接下來,以機房收費系統為例,機房收費系統中有三個對象分别是一般使用者,操作員和管理者,我們可以把這三個抽象成一個類,每一個都具有增删改查的方法,在這裡,我把增删改查也抽象成了一個類,首先,我們來看一般使用者的對象圖:

UML之對象圖

      其次,操作員的對象圖:

UML之對象圖

     最後,管理者的對象圖:

UML之對象圖

       對象圖是類圖的執行個體,幾乎使用與類圖完全相同的辨別,他們的不同點在于對象圖顯示類的多個對象執行個體,而不是實際的類。由于對象存在生命周期,是以對象圖隻能在系統某一時間段存在。

       對象圖用來描述系統的各個對象在某一時刻的狀态,對象圖和類圖一樣都是靜态結構圖,他們是從實際的或原型化的場景去表達,對象圖顯示了某一時刻對象與對象的關系。一個對象圖可以看作類圖的特殊用例,類圖中的關系同樣适用在對象圖中。可以這樣了解,對象圖就是類圖的執行個體,對象圖中的元素在類圖中都可以找到,隻是把類圖中的類元素換成對象即可。而類圖中類元素之間的關系,在對象圖中同樣适用。UML之旅,未完,待續......

繼續閱讀