首页 > 其他分享 >UML类图

UML类图

时间:2023-04-20 18:11:25浏览次数:27  
标签:Fruit 接口 类图 箭头 实例 UML

UML类图介绍

  • 概念

UML中的类图(Class Diagram)用于表示类、接口、实例等之间相互的静态关系。虽然名字叫作类图,但是图中并不仅仅只有类。

  • 类结构

  • 继承

该图展示了Parentclass和Childclass两个类之间的关系,其中的空心箭头表明了两者之间的层次关系。箭头由子类指向父类,换言之,这是表示继承(extends)的箭头。
ParentClass是Childclass的父类,反过来说,Childclass是Parentclass的子类。父类也称为基类或超类,子类也称为派生类。

  •  实现

该图表示PrintClass类实现了Printable接口。为了强调接口与抽象类的相似性,本书的类图中会以斜体方式显示接口的名字。不过在其他书的类图中,接口名可能并非以斜体显示。空心箭头代表了接口与实现类的关系,箭头从实现类指向接口。换言之,这是表示实现(implements)的箭头。

  •  聚合

该图展示了Color(颜色)、Fruit(水果)、Basket(果篮)这3个类之间的关系。Basket类中的fruits字段是可以存放Fruit类型数据的数组,在一个Basket类的实例中可以持有多个Fruit类的实例;Fruit类中的color字段是Color类型,一个Fruit类实例中只能持有一个Co1or类的实例。通俗地说就是在篮子中可以放人多个水果,每个水果都有其自身的颜色。我们将这种“持有”关系称为聚合(aggregation)。只要在一个类中持有另外一个类的实例无论是一个还是多个一它们之间就是聚合关系。就程序上而言,无论是使用数组、java.uti1Vector或是其他实现方式,只要在一个类中持有另外一个类的实例,它们之间就是聚合关系。在UML中,我们使用带有空心菱形的实线表示聚合关系,因此可以进行联想记忆,将聚合关系想象为在空心菱形的器皿中装有其他物品。

  •  关联

  可以在类名前面加上黑三角表示类之间的关联关系

  •  可见性

 

该图标识出了方法和字段的可见性。在UML中可以通过在方法名和字段名前面加上记号来表示可见性。
“+”表示pub1ic方法和字段,可以从类外部访问这些方法和字段。
“-”表示private方法和字段,无法从类外部访问这些方法和字段。
“#”表示protect方法和字段,能够访问这些方法和字段的只能是该类自身、该类的子类以及同一包中的类。
“~”表示只有同一包中的类才能访问的方法和字段。

 

标签:Fruit,接口,类图,箭头,实例,UML
From: https://www.cnblogs.com/little-bean-sprout/p/17337805.html

相关文章

  • gotenberg+ chromiumly + pdf.js 进行office 文档转换以及预览处理
    日常中office预览是一个比较常见的问题,基于微软的officeonline是一个选择,但是移动端效果不是很好就有pdf以及一些基于生成图片的方案也是不错的,以下是基于gotenberg+chromiumly的一个尝试简单说明gotenberg是基于golang开发的包装了Chromium以及LibreOffice的基于api......
  • [建模技术]精通它,才能毁灭它!——谈Uml与科学和工程的关系。
    在3月23日,Ivar做客,与您畅谈程序员“而立”后的成长之路,立刻参与,就有机会当面与大师交流!的帖子中,有一位朋友对UML和Ivar大加不满,于是发了一连串的回复。我今天给出了一点我的评论和看法,大家可以到上面的帖子中查看,也可以看下面的内容,下面是我转贴过来的内容:没有人在搞UML,中国只有搞......
  • [全程建模]窥国外uml应用情况之一隅
    最近给某公司进行了一次培训,培训中看到他们在欧洲总部的工程师发过来的UML时序图一张。就这张图而言,他们的绘制完全错误,而且表达混乱,问题大概如下(其图形类似于我那本书《软件工程之全程建模实现》上第137页和134页形态的结合体):1、没有一个对整个时序图的驱动行为,也就是Actor的驱动......
  • IDE-Visual Studio Code-Extension-离线安装PlantUML
    IDE-VisualStudioCode-Extension-离线安装PlantUMLhttps://www.hd2y.net/archives/plantuml-installation-and-usePlantUML+Graphviz+JavaPlantUMLExtensionvscodemarketplace注意路径,我第一次下载的vs的插件。https://marketplace.visualstudio.com/vscodeh......
  • [全程建模]一个项目UML设计中的几个问题
    [全程建模]一个项目UML设计中的几个问题广州Sh**nGG(41****586) 2012/11/15 11:04:25各位前辈 针对昨天的那个问题 我做了一些用例图如下广州Sh**nGG(41****586) 2012/11/15 11:05:29针对以上的用例图 做出下面的类图广州Sh**nGG(41****586) 2012/11/15 11:06:52请......
  • [全程建模]UML应用与实践的对话——需求中流程与用例的关系
    Tony2008-07-2404:37:09有个问题请教一下你认为是流程中包含用例还是用例中包含流程?用例是否能体现所有需求?对用例是否应该分层,分层的原则是什么?青润07:24:51应该说,大的流程里面包含有用例,而用例里面包含有其内部的细节流程。呵呵用例肯定要考虑分层,我定义的两条原则是:业务相关......
  • UML类图实验报告
    一:首先在我们更好的理解UML类图之前,我先用几个简单的小例子把UML类图所存在的关系给表达清楚-_-!1)第一个叫泛化,名字听起来很高级,也就是我们常说的继承,就像古代的皇帝快要驾崩了,需要指定皇子来继承王位,但“继承”可要比皇子继承皇位(单继承)要牛多了,他给人的印象就像是“一人得到。......
  • UML建模之时序图(Sequence Diagram)
     一、时序图简介(Briefintroduction) 二、时序图元素(SequenceDiagramElements)  角色(Actor)  对象(Object)  生命线(Lifeline)  控制焦点(FocusofControl)  消息(Message)  自关联消息(Self-Message)  CombinedFragments  三、时序图实例分析(SequeceDiagramExampleA......
  • 关于绘制UML
       任何建模语言都以静态建模机制为基础,UNL也不例外。UML的静态建模机制包括用例图、类图、对象图、包图等。用例图从用户的角度描述系统的功能,由用例(usecase)、参与者(actor)以及他们的关系连线组成。用例从用户角度描述系统的行为,他将系统的一个功能描述成一系列的事件......
  • 图形软件绘制UML用例图
    用例图是参与者(角色)可以感受到的系统服务或功能单元。它定义了系统是如何被参与者使用的,描述了参与者为使用系统所提供的某一完整功能而与系统之间发生的一段对话。用例最大的优点就是站在用户的角度上(从系统的外部)来描述系统的功能。它把系统当作一个黑箱子,并不关心系统内部是如......