UML基础:类图

UML是Unified Modeling Language 的简称,即统一建模语言。

UML提出了一套IT专业人员期待多年的统一的标准建模符号。通过使用UML,能让我们阅读和交流系统架构和设计规划,就像建筑工人多年来使用的建筑设计图一样。

通过把保准的UML图放进你的产品中,开发人员就可以更加容易加入你的项目并且迅速进入角色。UML存在很多图。

最常用的UML图表括:用例图,类图,序列图,状态图,活动图,组件图和部署图。

下面看看类图的简单介绍:


上面图片就是一个类图结构图。

     图片中的第一层表示的是类名。字体倾斜表示BackAccount是一个抽象类。withdrawal方法是抽象的操作。换句话说BackAccount使用withdrawal方法规定抽象操作。

     图片中第二层表示类的属性列表。换句话说这个类有哪些成员变量。第一个表示属性名称,图中的owner 第二个表示属性的类型。string类型的。当然属性名还可以赋予初值。比如balance:Dollars=0;这个语法有点类似Apple的新语言Swift语言

    图片中第三层表示的是类操作,也就是方法,或者函数。

    图中的箭头表示继承关系。CheckingAccount类和SavingsAccount类都是继承于BackAccount。

关联

当你系统建模时,特定的对象间将会彼此关联,而这些对象本身需要清晰的建模。

双向(标准)的关联

关联就是两个类间的联接。双向关联这意味着,两个类彼此之间知道它们的联系,看看下图


以上图片就是一个Fight类和Plane类之间的双向关联实例。双向关联两个类之间用一个实线表示。在线的任意一端,你可以放置一个角色和多重值。上图 显示Flight与一个特定的Plane相关联,而且Flight类知道这个关联。因为角色名以Plane类表示,所以Plane承担关联中的“assignedPlane”角色。紧接于Plane类后面的多重值描述0...1表示,当一个Flight实体存在时,可以有一个或没有Plane与之关联(也就是,Plane可能还没有被分配)。上图 也显示Plane知道它与Flight类的关联。在这个关联中,Flight承担“assignedFlights”角色;上图告诉我们,Plane实体可以不与flight关联(例如,它是一架全新的飞机)或与没有上限的flight(例如,一架已经服役5年的飞机)关联。

由于对那些在关联尾部可能出现的多重值描述感到疑惑,下图列出了一些多重值及它们含义的例子。


单向关联

在一个单向关联中,两个类是相关的,但是只有一个类知道这种联系的存在。图 7 显示单向关联的透支财务报告的一个实例。


一个单向的关联,表示为一条带有指向已知类的开放箭头(不关闭的箭头或三角形,用于标志继承)的实线。如同标准关联,单向关联包括一个角色名和一个多重值描述,但是与标准的双向关联不同的时,单向关联只包含已知类的角色名和多重值描述。在上图中的例子中,OverdrawnAccountsReport 知道 BankAccount 类,而且知道 BankAccount 类扮演“overdrawnAccounts”的角色。然而,和标准关联不同,BankAccount 类并不知道它与 OverdrawnAccountsReport 相关联。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值