zl程序教程

您现在的位置是:首页 >  其他

当前栏目

UML简单介绍-如何看懂UML(二)详解程序员

程序员 如何 详解 简单 介绍 uml
2023-06-13 09:20:19 时间
你画了一个三角形说这是一个接口,我花了一个圆形,跟你讲这个是接口?这其中的问题不言而喻。
1997年,OMG 组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML)
将面向对象程序设计中的元素进行抽象,比如类还是接口,UML中称之为事物,就如同积木的基础形状
将元素之间的联系关系进行抽象,比如到底是继承还是组合(聚合),如同积木中的卡扣,可能有多种卡扣连接形式
UML肯定不会向积木那样简单,所以自然还会有很多的规则、限制、要求,这些一起构成了完整的UML
实现关系是带空心箭头的虚线表示的,比如A实现B,箭头指向父类、接口
image_5bdfa952_5816
实现可以狭隘的认为是一种实现类与父类、接口的关系(其实在UML中实现的含义远不止实现类这层含义)
聚合关系是带空心的菱形的直线表示的,比如 A聚合到B上,也就是B由A组成
image_5bdfa952_4f4a
聚合关系用于类图,表达整体由部分构成的语义,比如部门由许多人员组成
整体和部分不是强依赖的,即使整体不存在,依然可以存在部分,即使没有部门,人员仍旧存在
组合关系是带实心的菱形的直线表示的,比如A组合成B,或者说B由A构成
image_5bdfa952_57ed
表达整体拥有部分的含义,组合关系是一种特殊的强依赖的聚合关系
如果整体不存在,那么部分也不存在了
比如,汽车由轮胎底盘发动机构成,汽车不存在了,自然也不存在发动机了
依赖关系使用带箭头的虚线表示,比如  A依赖B
image_5bdfa952_5dfc
用于描述一个对象在运行期间会使用到另外一个对象的关系
依赖关系是一种临时性的,简言之就是不同场景会发生变化
比如人和车
如果是驾驶场景,车依赖人(驾驶员),如果是乘车出行,那就是人依赖车(公交、出租)
很显然,依赖关系比关联关系更加弱
依赖关系是一种使用关系
比如一个类的方法中的局部变量、方法的参数或者对静态方法的调用,都是一种依赖
本文简单介绍了UML的历史以及组成部分,目的不在于详细介绍UML,只在于能够读懂以及绘制类图
UML建模工具就如同“实现类”一样,细节上有差异也很正常,很多软件也可以调整显式的式样,比如StarUML就可以