面向對象是一個依賴于幾個基本原則的思想庫。
對象是類的實例。
類是具有相同屬性和操作的一類對象集。
繼承是面向對象中的一個重要方面。對象繼承了所屬類的屬性和操作。類同樣也可以繼承其他類的屬性和操作。
多態性是另一個重要的方面它是指不同的類中可以有相同名字的操作,并且這個操作在每個類中都能以各自不同的方式執行。
對象對其他對象和外部世界隱藏了其操作的執行過程。每個對象都要提供一個讓其他對象用來執行該對象中操作的接口。
對象通過相互之間的消息傳遞協同工作。消息是執行操作的請求。
對象通常要和其他對象發生關聯。關聯可以具有多種形式。一個類的對象可能和多個其它類的對象同時發生關聯。
聚集是關聯的一種,聚集對象由部分對象組成。組成又是一種特殊的聚集。在一個組成對象中,部分對象只能作為組成對象的一部分與組成對象同時存在。
類的可視化表示
如果WashingMachine(洗衣機)類是Household Appliances(家用電器)包的一部分,那么這個類的名字為:Household Appliances::WashingMachine。包名在左,類名在右,中間用雙冒號隔開。這種類型的類名叫:路徑名(pathname)。 ??? 
屬性
單字屬性名小寫。如果屬性名包含了多個字,這些字要合并,并且除了第一個字外其余字首字母要大寫。
對象名首字母小寫,后面跟一個冒號,冒號后面是該對象所屬的類名,并且整個名字要帶下劃線。
命名實例:myWasher:WashingMachine
匿名實例:WashingMachine
例:類的屬性在該類的對象中都有具體值 ??? 
例:屬性可以帶類型和缺省值 ??? 
操作
單字操作名小寫。如果操作名包含了多個字,這些字要合并,并且除了第一個字外其余字首字母要大寫。 ??? 
在操作名后面的括號中可以說明操作所需要的參數和參數的類型。有一種操作較函數(function),它在完成操作后要返回一個返回值。可是指明函數的返回值及返回值的類型。上述全部的操作信息被稱為操作的型構。
例:操作的型構 ??? 
屬性、操作和可視化表達
有時,只顯示類的一部分屬性和操作很有用。為了說明你只表示出部分操作和屬性,可以在列表的后面加上3個小點“…”。這個符號叫省略符,這種省略了一個或多個屬性或者操作的表示法叫做類的省略表示法。
如果屬性或者操作列表太長,可以用構造型來組織屬性或操作列表,以方便理解。構造型是UML提供的擴展機制:它允許你創建新的模型元素以解決具體問題。構造型用雙尖角括號括住的名字來表示。
例:省略符號說明還有沒列出來的屬性或操作 ??? 
例:可以使用構造型來組織屬性和操作列表? ??? 
職責和約束
職責描述了類做什么——也就是類的屬性和操作能完成什么任務。
這里的想法是要有足夠的信息以非二義性的方法去描述一個類。說明類的職責是消除二義性的一種非形式化的方法。
更形式化的方法是使用約束,它是一個用花括號括起來的自由格式的文本。括號中的文本指定了該類所要滿足的一個或者多個規則。
例:在類圖標中,操作列表區域的下面區域可以寫類的職責 ??? 
例:用花括號括起來的規則表達式限制了洗衣機的容量之只能三者選一
?
附加注釋
?
|