台灣最大程式設計社群網站
線上人數
1345
 
會員總數:245248
討論主題:189106
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> 訊息與操作
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
訊息與操作
價值 : 0 QP  點閱數:484 回應數:0

樓主

郁惠
門外漢
0 3
54 4
發送站內信

捐贈 VP 給 郁惠
(原文出自於UML Blog,回應請到原文處。)

在循序圖中,物件會遵照箭頭方向傳送訊息(message)給另一個物件,也因此而引發了接收訊息之物件的某一項操作。換言之,在循序圖中的每一個訊息,都可以對應到物件所屬類別中已經定義好的操作。

圖1: 公開操作及私有操作

不過,特別需要注意操作的能見度等級,物件僅能呼叫其他物件之公開等級的操作,至於私有等級的操作只有物件本身可以呼叫,如圖1所示。定期定額申購(RegularBid)物件中的計算資產(calcAsset)屬於公開操作,所以外界可以呼叫;但是,取得申購單位數量(getUnit)屬於私有操作,所以只有定期定額申購物件本身可以呼叫。

其實,物件本身可以呼叫任何能見度等級之操作。再看到圖2,取得申購單位數量(getUnit)原屬於申購交易(Bid)父類別所定義之保護等級的操作,透過一般化關係帶來的繼承效益,使得定期定額申購(RegularBid)子類別的物件也可以呼叫使用此保護等級的操作。


圖2: 保護等級的操作

子類別可以繼承公開等級與保護等級之操作,其所屬之物件當然可以呼叫之;倘若是私有等級的操作,則不可以被子類別繼承,所以其所屬之物件也就不能呼叫了。請看圖3,申購交易父類別定義了一個私有操作,所以定期定額申購子類別無法使用此操作,且子類別之物件也無法呼叫之。因之,定期定額申購物件所呼叫的「取得申購單位數量」(getUnit)操作,其實所屬類別自行定義的公開操作,而非繼承來的私有操作。


圖3: 私有操作之繼承

接著,我們來看「誕生訊息」(creation message)與「消滅訊息」(destruction message)。接收物件收到誕生訊息時,將執行建構式,進行物件誕生之後的初始化設定。請看圖4之左圖,誕生訊息的圖示是一條帶開放箭頭的虛線,射向誕生物件,意味著物件是在接收到誕生訊息之際,才剛誕生。或者,也可以使用如右圖的表示法,採用呼叫訊息的帶實心箭頭實線,並於其旁標記《create》字眼。


圖4: 誕生訊息

至於,消滅訊息的圖示則是在訊息箭頭端打上大叉叉(×),而且存活終止於大叉叉處。因為物件在收到消滅訊息之後,將執行解構式,進行物件消滅之際的設定工作,然後就被消滅了、不再存活了,所以存活線也就終止了,如圖5所示。


圖5: 消滅訊息

搜尋相關Tags的文章: [ UML ] ,
本篇文章發表於2008-02-19 10:06
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
目前尚無任何回覆
   

回覆
如要回應,請先登入.