UML——类图

UML——类图UML——类图

大家好,又见面了,我是你们的朋友全栈君。

       类是具有相似结构、行为和关系的一组对象的抽象。类图则是根据系统中的类以及各类之间的关系描述系统的静态视图。画类图首先找系统中出现的名词,再通过相应的关系把抽象出来的类联系起来。

UML——类图

       在UML中关于类图这部分主要介绍了类的基本元素,类之间的关系以及类图的构成,最后又更进一步介绍了类图的相关知识。

UML——类图

类图的关系大致可以分为以上几种,下面再具体介绍一下这几种关系:

一.关联

       关联即拥有,表示一个类知道另一个类的属性和方法,比如老师与学生这两个类之间的关系就是关联。也可以理解为使用,比如学生与单放机,所以关联表示了两个类之间的通信。

1.修饰

   修饰的三要素:名称(Association name),角色(Role),多重性(Multiplicity)。如图所示:

   UML——类图

   多重性表示一个关联的实例中有多少个相互连接的对象,具体情况可分为  

表示方式

多重性说明

1..1

表示另一个类的一个对象只与一个该类对象有关系

0..*

表示另一个类的一个对象与零个或多个该类对象有关系

1..*

表示另一个类的一个对象与一个或多个该类对象有关系

0..1

表示另一个类的一个对象没有或只与一个该类对象有关系

m..n

表示另一个类的一个对象与最少m、最多n个该类对象有关系 (m<=n)

2.普通关联

   单向关联:订单和商品,订单中包括商品,但是商品并不了解订单的存在。

   UML——类图

   双向关联:订单和消费者,订单属于消费者,消费者拥有一些特定的订单。

   UML——类图

   两个类之间的多种关联:老师既可以给学生上课,还可以给学生答疑。

   UML——类图

   一个类和多各类的关联:一个学生可以是一个学生,也可以是一个老师。

   UML——类图

3.聚合

   聚合是整体和部分的关系,分开后可以独立存在,无明显的附属关系。

   UML——类图

4.组合

   组合也是整体和部分之间的关系,但是整体不存在,个体也不能单独存在,有附属关系。

   

    

   UML——类图


二.依赖

    依赖是一种使用关系,类A要完成某个功能必须引用类B,则A与B存在依赖关系。

    例如我们需要用电脑编写代码,这是我们就依赖于电脑。

   UML——类图


三.泛化

    泛化和继承的概念是一样的,即“is a kind of ”的关系,不同的是泛化使用在分析、设计阶段,继承使用在实施阶段。

    UML——类图


四.实现

    用来规定接口和实现接口的类的关系。

    UML——类图


       自己画类图的时候,第一个难题就是不能准确的找出系统中的类,类与类之间的关系也不是很清楚,下面是机房收费系统的总的类图,感觉抽象还是不太好,希望能在大家的博客中理解的更好。

UML——类图

   

    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105784.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nport串口服务器配置网址(串口服务器是不是网口转串口)

    NPort串口服务器有分“驱动模式”及“socket模式”如果您的程序是通过串口进行通讯,那么请选择NPort的“驱动模式”,也就是为主机添加虚拟串口,具体安装配置是(这里以windows为例):1、通过NPortSearchUtility找到网络上的NPort,请将主机IP与NPortIP在同一网段中,NPort默认IP:192.168.127.2542、选择相对应的NPort双击;3…

    2022年4月11日
    47
  • 单片机中步进电机c语言程序,用AT89C51单片机控制步进电机的汇编源程序

    单片机中步进电机c语言程序,用AT89C51单片机控制步进电机的汇编源程序下面程序完成的主要功能:实现步进电机的正反转,加速、减速;显示电机转速(转速级别)和工作状态(正转、反转、不转)。源程序SPEEDEQU10H;SPEED为转速等级标志,共7级,即1~7FXEQU11H;FX为方向标志COUNTEQU12H;COUNT中断次数标志ORG0000HAJMPMAINORG0003H;外部中断0入口地址,加速子程序AJMPUPORG001…

    2022年5月18日
    35
  • 向量的内、外积及其几何含义

    向量的内、外积及其几何含义一、向量的内积(点乘)定义概括地说,向量的内积(点乘/数量积)。对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,如下所示,对于向量a和向量b:a和b的点积公式为:这里要求一维向量a和向量b的行列数相同。注意:点乘的结果是一个标量(数量而不是向量)定义:两个向量a与b的内积为a·b=|a||b|cos∠(a,b),特别地,0·a=a·0…

    2025年6月14日
    0
  • java属于什么语言_java是什么语言 ?是什么系统?

    java属于什么语言_java是什么语言 ?是什么系统?一开始了解计算机这个专业,大家都会经常性听到Java这一词语,那么大家有真正的了解什么是Java吗?Java是属于什么语言呢?JAVA语言,其实是混合型的一种语言,Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点。下面来介绍一些Java的主要特征:1)Java语言是简单的。Java语言的语法与C语言和C++语言相似,这让很多程序员可…

    2022年7月8日
    18
  • java帝国时代_我的第一个java程序

    java帝国时代_我的第一个java程序1C语言帝国的统治现在是公元1995年,C语言帝国已经统治了我们20多年,实在是太久了。1972年,随着C语言的诞生和Unix的问世,帝国迅速建立统治,从北美到欧洲,从欧洲到亚洲,无数程序员臣服在他的脚下。帝国给我们提供了极好的福利:贴近硬件,运行极快,效率极高。使用这些福利,程序员们用C开发了很多系统级软件,操作系统,编译器,数据库,网络

    2022年9月24日
    0
  • 《前端运维》一、Linux基础–08Shell其他及补充

    这一篇,我们来学习一些重要的命令,在工作中也会经常用到。一、简单正则要注意的是,有些命令不支持正则模式,比如fs、find等,有些是支持正则的,比如grep、awk、sed等。正则的语法和js中的

    2022年3月25日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号