UML中的四种关系
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML中的四种关系相关的知识,希望对你有一定的参考价值。
一、Association关联关系
说明:Assocition(关联):描述了两个或多个类之间的结构性关系。
(1)普通关联:
1)Association name名称:用以描述该关系的性质。
2)Role角色:当一个类处于关联的某一端时,该类就在这个关系中扮演了一个特定的角色;角色是关联中靠近它的一端的类对另外一端的类呈现的职责。
3)Multiplicity多重性:关联角色的多重性是说明一个关联的实例中有多少个相互连接的对象。
例如():
Public Class Person
Private employer As Company
End Class
Public Class Company
Private employee As Person
‘……
End Class
例如:
Public Class CatalogEntry
Private name As String
Private number As Integer
Private cost As Double
Public Function getCost() As Double
Return cost
End Function
End Class
Public Class Part
Private entry As CatalogEntry
Public Function Cost() As Double
Return entry.getCost
End Function
End Class
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim screw As New CatalogEntry("screw", 28834, 0.02)
Dim screw1 As New Part(screw)
screw1.Cost()
‘……
End Sub
上面的两个例子,第一个是一个双向的普通关联,第二个例子是一个单向关联。同理,两个类之间可以有多种关联,一个类也可以和多个类关联,类也可以自身关联。
(2)聚合aggregation
说明:聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。
例:
Public Class GooseGroup
Private arrayWildGoose As New WildGoose()
‘……
End Class
(3)组合composition
说明:一种强的“拥有”关系,体现了严格的部分和整体的生命周期一样。
例如:
Public Class Bird
Private wing As Wing
Public Sub New()
wing = New Wing() ‘在鸟bird类中,初始化时,实例化翅膀Wing,它们之间同时生成
End Sub
End Class
二、Generalization泛化关系
说明:是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为。
表示方法:
Public Class Dog : Inherits Animal
‘……
End Class
说明:VB.net中如果说明某个类不再被继承,可以使用notInheritable
三、Dependency依赖关系
依赖关系:
例如:
说明:动物有几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物等。也就是说,动物依赖氧气和水。他们之间是依赖关系(dependency),用虚线箭头来表示
例如:
Public Class Professor
Public Function Teach(ByVal c As Course)
‘……
End Function
End Class
说明:如果两个类有结构关系(关联关系),那么就不用依赖关系(两个事物一般都有这个关系)
四、Realization实现
说明:实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。
表示方法:
Public Interface IShape
Function Draw()
End Interface
Public Class Circle : Implements IShape
Public Function Draw() Implements IShape.Draw
End Function
End Class
以上是关于UML中的四种关系的主要内容,如果未能解决你的问题,请参考以下文章