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——类图

   

    

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • int、dev、uat、prod、pp、sit、ides、qas、pet、sim、zha环境是什么

    int、dev、uat、prod、pp、sit、ides、qas、pet、sim、zha环境是什么缩写 英文 解释 int Initialization 初始化 dev development 开发 pp Preproduction 预生产 sit SystemIntegrateTest 系统整合测试(内测) ides InternetDemonstrationandEvaluationSystem 交互式演示与评估系统 qas QualityAssuranceSystem 质量

  • unity串口 连接多个串口崩溃_hdmi视频矩阵切换器串口连接说明景阳华泰科技

    unity串口 连接多个串口崩溃_hdmi视频矩阵切换器串口连接说明景阳华泰科技需要做拼接盒与矩阵联动拼接上大屏,在大屏软件上控制矩阵切换器,那么必须要连接上矩阵的232串口;下面是串口连接的具体步骤:方法一:以大屏拼接盒为中心做环通连接(推荐)1、电脑主机引串口连到大屏拼接盒232输入端,(由于大屏拼接盒232是用网口来定义的,所以电脑端要用USB转网口或者232转网口来连接大屏);2、各大屏拼接盒RS232环通连接;3、大屏环通后的RS232…

    2022年10月21日
  • iframe自适应高度_jquery取iframe文本

    iframe自适应高度_jquery取iframe文本超级简单的方法,也不用写什么判断浏览器高度、宽度啥的。下面的两种方法自选其一就行了。一个是放在和iframe同页面的,一个是放在test.html页面的。注意别放错地方了哦。iframe代码

    2022年10月12日
  • spring中@EventListener 的详解和使用

    spring中@EventListener 的详解和使用转载:面了个35的程序员,让我莫名的慌了。。。(欢迎关注原文作者公众号:Java充电社)面了个35的程序员,让我莫名的慌了。。。原创路人甲Java路人甲Java2020-05-10收录于话题#Spring高手系列55个内容月底免费送书活动,这两天是最后的机会,大家尽快参与!面试官:看你是85年的我:嗯,35了面试官:那应该经验很丰富了,那我们来聊聊spring吧我:好,这块我用了10几年了,你随便问吧面试官:Spring中的事件用过么?我:用过…

    2022年10月23日
  • Python学习之MacBook Pro中PyCharm安装pip以及itchat

    Python学习之MacBook Pro中PyCharm安装pip以及itchat前言:Mac中自带的python没有用,自己安装了一个PyCharm,网上很多人说安装Itchat后会安装到自带的Python中去。本文记录怎么安装到自己安装的Python3.7中去。主要技术来源于https://www.cnblogs.com/ace722/p/9697331.html,在此引用并表示感谢,以下只是精炼的步骤,具体可参考原博客。步骤一:首先查看自己是否有安装到pip,在Ter…

  • Python3字符串替换replace(),translate(),re.sub()

    Python3字符串替换replace(),translate(),re.sub()Python3的字符串替换,这里总结了三个函数,和`translate()re.sub()`replace()python中的方法把字符串中的old(旧字符串)替换成new(新字符串

发表回复

您的电子邮箱地址不会被公开。

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