UML統一建模語言 知識點3 3類的關係

2021-10-01 16:00:13 字數 2983 閱讀 5033

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的類名。該類有兩個...