当前位置:首页 > 科技  > 软件

UML类图的图形表示,你学会了吗?

来源: 责编: 时间:2023-10-06 19:18:26 216观看
导读在UML类图表示类的图形:表示类的图形有三层:第一层是类名字;第二层是类的成员变量;第三层是类的方法。成员变量以及方法前的访问修饰符用符号来表示:“+”表示 public“-”表示 private“#”表示 protected不带符号表示 de

在UML类图表示类的图形:E5m28资讯网——每日最新资讯28at.com

E5m28资讯网——每日最新资讯28at.com

表示类的图形有三层:E5m28资讯网——每日最新资讯28at.com

  • 第一层是类名字;
  • 第二层是类的成员变量;
  • 第三层是类的方法。

成员变量以及方法前的访问修饰符用符号来表示:E5m28资讯网——每日最新资讯28at.com

  • “+”表示 public
  • “-”表示 private
  • “#”表示 protected
  • 不带符号表示 default

注意:E5m28资讯网——每日最新资讯28at.com

如果是抽象类和抽象方法,那么用斜体字体表示E5m28资讯网——每日最新资讯28at.com

在UML类图表示接口:E5m28资讯网——每日最新资讯28at.com

接口在类图中的第一层顶端用构造型 <>表示,下面是接口的名字,第二层是字段常量,第三层是抽象方法。(如果用两层表示,那就只是表示接口名和方法)。E5m28资讯网——每日最新资讯28at.com

E5m28资讯网——每日最新资讯28at.com

第二种表示接口的方法是“棒棒糖表示法”:E5m28资讯网——每日最新资讯28at.com

类上面的一根棒棒糖(圆圈+实线)。圆圈旁为接口名称,接口方法在实现类中出现。E5m28资讯网——每日最新资讯28at.com

E5m28资讯网——每日最新资讯28at.com

在UML类图中表示包:E5m28资讯网——每日最新资讯28at.com

类和接口一般都出现在包中,UML类图中包的表示形式如下图所示。package表示包名。E5m28资讯网——每日最新资讯28at.com

E5m28资讯网——每日最新资讯28at.com

在UML类图中表示关系:E5m28资讯网——每日最新资讯28at.com

E5m28资讯网——每日最新资讯28at.com

继承(泛化):E5m28资讯网——每日最新资讯28at.com

泛化关系(Generalization)是指对象与对象之间的继承关系。如果对象A和对象B之间的“is a”关系成立,那么二者之间就存在继承关系,对象B是父对象,对象A是子对象。例如:一只大雁“is a” 动物,很显然,大雁是和动物是继承关系。E5m28资讯网——每日最新资讯28at.com

E5m28资讯网——每日最新资讯28at.com

实现:E5m28资讯网——每日最新资讯28at.com

实现关系是指接口及其实现类之间的关系,实现关系用空心三角和虚线组成的箭头来表示,从实现类指向接口E5m28资讯网——每日最新资讯28at.com

E5m28资讯网——每日最新资讯28at.com

关联:E5m28资讯网——每日最新资讯28at.com

关联关系(Association)是指对象和对象之间的连接,它使一个对象知道另一个对象的属性和方法。E5m28资讯网——每日最新资讯28at.com

在Java中,关联关系的代码表现形式为一个对象含有另一个对象的引用。也就是说,如果一个对象的类代码中,包含有另一个对象的引用,那么这两个对象之间就是关联关系。E5m28资讯网——每日最新资讯28at.com

关联关系有单向关联和双向关联。E5m28资讯网——每日最新资讯28at.com

双向关联:如果两个对象都知道(即可以调用)对方的公共属性和操作,那么二者就是双向关联。E5m28资讯网——每日最新资讯28at.com

单项关联:如果只有一个对象知道(即可以调用)另一个对象的公共属性和操作,那么就是单向关联。E5m28资讯网——每日最新资讯28at.com

大多数关联都是单向关联,单向关联关系更容易建立和维护,有助于寻找可重用的类。E5m28资讯网——每日最新资讯28at.com

E5m28资讯网——每日最新资讯28at.com

一个对象可以持有其它对象的数组或者集合,在UML中,通过放置多重性(multipicity)表达式在关联线的末端来表示。多重性表达式可以是一个数字、一段范围或者是它们的组合。多重性允许的表达式示例如下:E5m28资讯网——每日最新资讯28at.com

  • 数字:精确的数量
  • *或者0..*:表示0到多个
  • 0..1:表示0或者1个,在Java中经常用一个空引用来实现
  • 1..*:表示1到多个

关联关系又分为依赖关联、聚合关联和组合关联三种类型。E5m28资讯网——每日最新资讯28at.com

依赖:E5m28资讯网——每日最新资讯28at.com

如果对象A用到对象B,但是和B的关系不是太明显的时候,就可以把这种关系看作是依赖关系。比如说A类的方法形参用到了B类。E5m28资讯网——每日最新资讯28at.com

public class BClass{ } public class AClass{ private BClass b1; // 依赖关系情况1:成员变量. 这也是关联关系 public void doWork(BClass b2){ // 依赖关系情况2: 方法参数 } public void doWork(){ BClass b3; // 依赖关系情况3: 方法内的局部变量 } }E5m28资讯网——每日最新资讯28at.com

聚合:E5m28资讯网——每日最新资讯28at.com

  • 聚合关系是关联关系的一种特例,他体现的是整体与部分,是一种“弱拥有”的关系,即has-a的关系。聚合是整体和个体之间的关系。
  • 例如,汽车类与引擎类、轮胎类,以及其它的零件类之间的关系便整体和个体的关系。
  • 与关联关系一样,聚合关系 也是通过实例变量实现的。但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分。
  • 聚合关系表示整体和个体的关系,整体和个体可以相互独立存在,一定是有两个模块分别管理整体和个体。
  • 在UML类图中,聚合通常使用空心菱形+实线箭头表示

E5m28资讯网——每日最新资讯28at.com

组合:E5m28资讯网——每日最新资讯28at.com

  • 也是整体与部分之间的关系,但是整体会影响到部分的生存周期,只要整体对象不存在了,部分对象也随之消亡。如,公司和部门、猫和猫的腿。
  • 组合关系是关联关系的一种特例,他体现的是一种contains-a(包含)的关系,这种关系比聚合更强,也称为强聚合。
  • 它要求普通的聚合关系中代表整体的对象负责代表部分对象的生命周期,组合关系是不能共享的。代表整体的对象需要负责保持部分对象和存活,在一些情况下将负责代表部分的对象湮灭掉。代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在每一个时刻只能与一个对象发生组合关系,由后者排他地负责生命周期。部分和整体的生命周期一样。
  • 整体和个体不能独立存在,一定是在一个模块中同时管理整体和个体,生命周期必须相同(级联)。
  • 在UML类图中,组合通常使用实心菱形+实线箭头表示

E5m28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-12125-0.htmlUML类图的图形表示,你学会了吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 简约至上,轻松玩转命令行:proper_cli 让 CLI 开发变得简单易用

下一篇: 对 JsonConvert 的认识太肤浅了,终于还是遇到了问题

标签:
  • 热门焦点
  • 7月安卓手机性价比榜:努比亚+红魔两款新机入榜

    7月安卓手机性价比榜:努比亚+红魔两款新机入榜

    7月登场的新机有努比亚Z50S Pro和红魔8S Pro,除了三星之外目前唯二的两款搭载超频版骁龙8Gen2处理器的产品,而且努比亚和红魔也一贯有着不错的性价比,所以在本次的性价比榜单
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • 三万字盘点 Spring 九大核心基础功能

    三万字盘点 Spring 九大核心基础功能

    大家好,我是三友~~今天来跟大家聊一聊Spring的9大核心基础功能。话不多说,先上目录:图片友情提示,本文过长,建议收藏,嘿嘿嘿!一、资源管理资源管理是Spring的一个核心的基础功能,不
  • 使用AIGC工具提升安全工作效率

    使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 2023年,我眼中的字节跳动

    2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的&ldquo;头腾
  • 共享单车的故事讲到哪了?

    共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 华为开发者大会2023日程公开:开设鸿蒙HarmonyOS 4体验区

    华为开发者大会2023日程公开:开设鸿蒙HarmonyOS 4体验区

    IT之家 7 月 31 日消息,华为今日公布了 HDC.Together 开发者大会 2023 的详细日程。整场大会将于 8 月 4 日-6 日之间举行,届时将发布最新一代鸿蒙 H
  • 7月4日见!iQOO 11S官宣:“鸡血版”骁龙8 Gen2+200W快充加持

    7月4日见!iQOO 11S官宣:“鸡血版”骁龙8 Gen2+200W快充加持

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
  • iQOO Neo8 Pro抢先上架:首发天玑9200+ 安卓性能之王

    iQOO Neo8 Pro抢先上架:首发天玑9200+ 安卓性能之王

    经过了一段时间的密集爆料,昨日iQOO官方如期对外宣布:将于5月23日推出全新的iQOO Neo8系列新品,官方称这是一款拥有旗舰级性能调校的作品。随着发布时
Top
Baidu
map