3.3類的關係
關係(relationship)是指事物之間的聯絡 。泛化、實現、依賴和關聯都是重要的關係。
泛化(generalization)
是一般事物(稱為父類或超類)和較特殊事物(稱為子類或孩子類)之間的關係。 (**級)
一般類定義了共同的屬性和方法
特殊類繼承了一般類的屬性和方法
特殊類還可以定義自己的屬性和方法
泛化關係只有在系統執行時它存在,系統不執行時它不存在,除非要將兩類物件永久儲存
實現(realization
)是類元(類)之間的語義關係,關係中的乙個類元(類)描述了另乙個類元(介面)實現的契約。
依賴(dependency)
是一種使用關係,它說明了乙個事物宣告的變化可能影響到使用它的另乙個事物,但反之未必。 (**級)
依賴關係特徵
乙個類的方法的引數的資料型別是另乙個類的定義
乙個類的方法使用了另乙個類的屬性
乙個類的方法呼叫了另乙個類的方法
乙個類的方法例項化了另乙個類的物件
乙個類的每乙個物件與另乙個類的所有(或部分)物件存在操作執行上的聯絡
依賴關係只有在系統執行時它存在,系統不執行時它不存在
關聯
是一種結構關係,它詳述了乙個事物的物件與另乙個事物的物件相互聯絡 。 乙個類的例項與另乙個類的例項在結構上的靜態聯絡。
關聯關係特徵
乙個類的屬性的資料型別是另乙個類的定義
乙個類的部分物件與另乙個類的部分物件存在屬性值上的聯絡
關聯關係一旦建立,系統執行與否它都存在
關聯關係
靜態的
資料(指屬性值)級別上的
部分的有多重性
實體類之間存在關聯關係
依賴關係
動態的
**級別上的
全體的無多重性
和之間存在依賴關係
1、關聯名
可以給關朕加上關聯名,來描述關聯的作用,以便和其他關聯關係相區別
2、關聯角色
關聯關係兩端的類的物件在對方的類裡的標識稱為角色
多重性表示可以有多少個物件參與該關聯。
在下圖中,雇主(公司)可以僱傭多個雇員,表示為0…n;雇員只能被一家雇主僱傭,表示為1。
4、關聯類
如果在具有關聯關係的類中,存在乙個屬性放在哪個類中都不合適的情況,就可以考慮使用關聯類
對於關聯可以加上一些約束,以加強關聯的含義
6、限定關聯
在關聯端緊靠源類圖示處可以有限定符。限定符的作用就是在給定關聯一端的乙個物件和限定符值以後,可確定另一端的乙個物件或物件集。
7、自反關聯
乙個類與自身的關聯。
自返關聯雖然只有乙個被關聯的類,但有兩個關聯端,每個關聯端的角色不同。
例如,「人」類的自返關聯「結婚」。乙個人與另乙個人結婚,必然乙個扮演丈夫角色,另乙個扮演妻子角色。
3個或3個以上類之間的關聯。
9、聚合(聚集)關係聚合是一種特殊形式的關聯。聚合表示類之間整體與部分的關係。
整體與部分沒有相同的生存期。
整體不存在了,部分仍能存在。
注意:
介面,介面的實現類,介面的使用類,應用程式類
基於介面的程式設計
體現了:高內聚,低耦合,可擴充套件性
抽象類(abstract class)
是不能直接產生例項的類。抽象類可以有屬性,但是必然存在某些方法只是一些宣告,而沒有具體的實現。其它的一些方法可以有實現。抽象類一般作為超類(或基類、父類)存在,用於描述其他類的公共屬性和操作。
介面(inte***ce)
定義為乙個類的對外可見的一組操作的規範,它定義了類對外提供的服務。介面包含操作但不包含屬性。所有的操作只是一些宣告,而沒有具體的實現。不能對介面例項化。
實現關係
:乙個類提供了另乙個類對外公布的操作規範的實現**。介面是乙個特殊的類(無屬性,有操作
),實現介面操作的類(稱為實現類)與介面之間存在實現關係。呼叫介面操作的類(稱為使用類)與介面之間存在依賴關係。
抽象類和介面
共同點兩者都有方法沒有提供實現**
提供實現**的其他類,實現的演算法不同,會導致兩者具有不同的行為。因此,很容易擴充套件軟體系統的功能。
不同點抽象類有些方法可以提供實現**,介面所有的方法都沒有提供實現**
抽象類只能被繼承,介面只能被實現
UML統一建模語言 知識點1 4習題總結
1 以下有關模型的說法,錯誤的是 模型是對現實的簡化 模型必須是視覺化的 乙個好的模型包括那些有廣泛影響的主要元素 通過建模,可以幫助人們解決理解複雜的問題 2 以下不是uml事物 結構事物 行為事物 分組事物 機制事物改為注釋事物 3 在進行哪一項相關領域的應用開發時不推薦使用uml建模 數值計算...
uml建模知識點(一)
需求 設計源於需求,高於需求 需求和設計的區別 需求設計 賣的視角 做的視角 具體抽象 產品當專案做 專案當產品做 分析 為了滿足功能需求,找到系統的核心域機制 設計 為了滿足質量需求和設計規約,核心域機制如何對映到選定的平台 不同工作流的區別不在形式而在於內容 思考的邊界 不要把敏捷迭代作為偷懶的...
統一建模語言(UML)
統一建模語言提供了一種表示法,通過它,我們可以獲取和說明程式設計。uml類圖描述系統中的類 它們之間的靜態關係 與類關聯的屬性和操作以及有關物件間連線的約束。uml類圖 在uml中,類由乙個矩形來表示,並且通常分割成3部分 類名 屬性和操作。上圖說明了乙個名為libraryitem的類名。該類有兩個...