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

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/yjjm/archive/2012/01/12/2320996.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值