UML——六大關系整理
1、定義
是一種面向對象的建模語言,它是運用統一的、標准化的標記和定義實現對軟件系統進行面向對象的描述和建模(百度百科)。
2、六種關系
這六種關系分別為,繼承、實現、關聯、聚合、組合、依賴。
3、繼承(繼承是否可以叫泛化?):
表示一般與特殊的關系,通過繼承,可以把父類的特性或方法拿過來,而它自身可以擴展其它的特性和方法等等。C#用
冒號表示繼承,java用extend關鍵字表示繼承。
例如:貓是動物的一種,即有貓的特性也有動物的共性,Cat:Animal;Cat extend Animal。
UML表示如下:

4、實現:
這是一種接口和類之間的關系,類實現接口中的特征和行為。例如:類C實現了接口Interface1
UML表示如下:

5、關聯:
一種強依賴關系,關聯就是某個對象會長期的持有另一個對象的引用,而二者的關聯往往也是相互的。關聯的兩個對象
彼此間沒有任何強制性的約束,
只要二者同意,可以隨時解除關系或是進行關聯,它們在生命期問題上沒有任何約定。被關聯的對象還可以再被別的對
象關聯,所以關聯是可以共享的(51cto)。例如:ClassA2關聯着ClassB2,自身關聯ClassA5
UML表示如下:


6、依賴:
依賴指的是一個類依賴另一個類的方法或屬性,例如:人要寫字,就必須借助比的寫的功能。
依賴就是某個對象的功能依賴於另外的某個對象,而被依賴的對象只是作為一種工具在使用,
而並不持有對它的引用(51CTO)。
UML表示如下:

7、聚合:
聚合是關聯的一種形式,代表兩個類之間的整體/局部關系。聚合暗示着整體在概念上處於比局
部更高的一個級別,而關聯暗示兩個類在概念上位於相同的級別。
UML關系圖中的聚合是強版本的關聯。它暗含着一種所屬關系以及生命期關系。被聚合的對象
還可以再被別的對象關聯,所以被聚合對象是可以共享的。雖然是共享的,聚合代表的是一種更親密的關系(51CTO)。
釋義:書和紙之間具有着一種強烈的所屬關系,書是可以分享的,這正如紙和書里的文字都對這本書有着同樣的強烈關聯。
UML表示如下:

8、組合:
UML關系圖中的組合是關系當中的最強版本,它直接要求包含對象對被包含對象的擁有以及包含對象
與被包含對象生命期的關系。被包含的對象還可以再被別的對象關聯,
所以被包含對象是可以共享的,然而絕不存在兩個包含對象對同一個被包含對象的共享(51CTO)。
UML表示如下:

