我思故我強

          [轉(zhuǎn)]UML學習筆記(二):運用面向?qū)ο笏枷?


          [轉(zhuǎn)]UML學習筆記(二):運用面向?qū)ο笏枷?

          關鍵字: ? UML學習筆記????

          面向?qū)ο笫且粋€依賴于幾個基本原則的思想庫。

          對象是類的實例。

          類是具有相同屬性和操作的一類對象集。

          繼承是面向?qū)ο笾械囊粋€重要方面。對象繼承了所屬類的屬性和操作。類同樣也可以繼承其他類的屬性和操作。

          多態(tài)性是另一個重要的方面它是指不同的類中可以有相同名字的操作,并且這個操作在每個類中都能以各自不同的方式執(zhí)行。

          對象對其他對象和外部世界隱藏了其操作的執(zhí)行過程。每個對象都要提供一個讓其他對象用來執(zhí)行該對象中操作的接口。

          對象通過相互之間的消息傳遞協(xié)同工作。消息是執(zhí)行操作的請求。

          對象通常要和其他對象發(fā)生關聯(lián)。關聯(lián)可以具有多種形式。一個類的對象可能和多個其它類的對象同時發(fā)生關聯(lián)。

          聚集是關聯(lián)的一種,聚集對象由部分對象組成。組成又是一種特殊的聚集。在一個組成對象中,部分對象只能作為組成對象的一部分與組成對象同時存在。

          類的可視化表示

          如果WashingMachine(洗衣機)類是Household Appliances(家用電器)包的一部分,那么這個類的名字為:Household Appliances::WashingMachine。包名在左,類名在右,中間用雙冒號隔開。這種類型的類名叫:路徑名(pathname)
          ???

          屬性

          單字屬性名小寫。如果屬性名包含了多個字,這些字要合并,并且除了第一個字外其余字首字母要大寫。

          對象名首字母小寫,后面跟一個冒號,冒號后面是該對象所屬的類名,并且整個名字要帶下劃線。

          命名實例:myWasher:WashingMachine

          匿名實例:WashingMachine

          例:類的屬性在該類的對象中都有具體值
          ???

          例:屬性可以帶類型和缺省值
          ???

          操作

          單字操作名小寫。如果操作名包含了多個字,這些字要合并,并且除了第一個字外其余字首字母要大寫。
          ???

          在操作名后面的括號中可以說明操作所需要的參數(shù)和參數(shù)的類型。有一種操作較函數(shù)(function),它在完成操作后要返回一個返回值。可是指明函數(shù)的返回值及返回值的類型。上述全部的操作信息被稱為操作的型構(gòu)。

          例:操作的型構(gòu)
          ???

          屬性、操作和可視化表達

          有時,只顯示類的一部分屬性和操作很有用。為了說明你只表示出部分操作和屬性,可以在列表的后面加上3個小點“…”。這個符號叫省略符,這種省略了一個或多個屬性或者操作的表示法叫做類的省略表示法。

          如果屬性或者操作列表太長,可以用構(gòu)造型來組織屬性或操作列表,以方便理解。構(gòu)造型是UML提供的擴展機制:它允許你創(chuàng)建新的模型元素以解決具體問題。構(gòu)造型用雙尖角括號括住的名字來表示。

          例:省略符號說明還有沒列出來的屬性或操作
          ???

          例:可以使用構(gòu)造型來組織屬性和操作列表?
          ???

          職責和約束

          職責描述了類做什么——也就是類的屬性和操作能完成什么任務。

          這里的想法是要有足夠的信息以非二義性的方法去描述一個類。說明類的職責是消除二義性的一種非形式化的方法。

          更形式化的方法是使用約束,它是一個用花括號括起來的自由格式的文本。括號中的文本指定了該類所要滿足的一個或者多個規(guī)則。

          例:在類圖標中,操作列表區(qū)域的下面區(qū)域可以寫類的職責
          ???

          例:用花括號括起來的規(guī)則表達式限制了洗衣機的容量之只能三者選一

          ?

          附加注釋

          ?

          posted on 2007-09-20 19:43 李云澤 閱讀(322) 評論(0)  編輯  收藏 所屬分類: 軟件設計

          主站蜘蛛池模板: 雷波县| 威远县| 深州市| 彰化市| 启东市| 渝中区| 策勒县| 丰都县| 庆元县| 新邵县| 布尔津县| 资溪县| 武川县| 丰都县| 元谋县| 噶尔县| 安岳县| 布拖县| 潼南县| 鲁山县| 金门县| 安福县| 大城县| 墨脱县| 南城县| 礼泉县| 衡阳县| 武陟县| 陈巴尔虎旗| 土默特左旗| 临城县| 习水县| 太湖县| 弥渡县| 大宁县| 竹溪县| 乡城县| 屯门区| 赣榆县| 临海市| 信丰县|