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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Kafka集群搭建 以及命令「建议收藏」

    Kafka集群搭建 以及命令「建议收藏」好久没有写博客了有点懒赶紧补一下Kafka集群搭建测试机三个节点hadoop1hadoop2hadoop3这三个节点安装了独立的zookeeper且我其他hadoophbase等元数据信息都在上面我不用Kafka自带的zookeeper本次的版本是:/kafka_2.10-0.10.0.1修改配置:kafka_2.10-0.10.0.1/conf

    2022年6月9日
    38
  • Unity3d快速入门[通俗易懂]

    Unity3d快速入门[通俗易懂]https://www.zhihu.com/question/313621072Unity3d如何快速入门前言进入一个领域,最直接有效的方法就是,寻找相关综述性文章,首先你需要对你入门的领域有个概括性的了解,这些包括:1、主流的学习社区与网站。2、该领域的知名大牛与热心分享的从业者。3、如何有效的激励自己持续学习—主要是动手实践因此,总结一下Unity相关学习资源,可能有些不足,欢迎大家指正修改,一起成长!授人与鱼,不如授人与渔!一、Unity官方学习资源1、【Unity官.

    2022年8月10日
    3
  • HTML+CSS+JS 实现登录注册界面[通俗易懂]

    HTML+CSS+JS 实现登录注册界面[通俗易懂]文章目录案例一滑动样式案例一滑动样式login.html<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><title>Login</title><linkrel=”stylesheet”href=”default.css”></head><body><divclass=”

    2022年7月21日
    12
  • eclipse安卓项目_eclipse开发android

    eclipse安卓项目_eclipse开发androideclipse之安卓开发环境搭建一、安装JAVAJDK:二、安装AndroidSDK:三、为eclipse安装ADT插件。五、检查eclipse中的安卓SDK路径六、创建eclipse中的安卓模拟器网上不知道哪个哥们教程里提供的JAVAJDK15的安装包有问题,安装AndroidSDK的时候一直找不到它,干脆自己重新整理一份安装资料出来。一、安装JAVAJDK:下载JDK15的官网下载地址点这里,只需要下载下图中这个exe文件。安装一直按照提示点击即可,主要是选择安装路径,没啥其它

    2022年9月26日
    0
  • 用U盘ghost备份win10系统操作流程_ghost全盘备份还原

    用U盘ghost备份win10系统操作流程_ghost全盘备份还原使用pe进行备份1、这里我使用了老毛桃的pe系统2、备份分区3、选中要备份的硬盘4、选择备份的分区按下shift按键,可以同时选中EFISystem分区和C盘系统分区。5、选择保存位置选择保存的位置,以及文件名称,这里最好保存到一个文件夹下,因为备份的文件可能会是多个。6、等待备份完成还原系统1、新电脑上建立分区选中空硬盘,点击新建分区,最后建立出来ESP\MSR\系统分区。在建立ESP分区的时候可以分配一个盘符,否则还原系统时,可能看不到这个分区。2、开始

    2022年9月6日
    2
  • npm、cnpm安装「建议收藏」

    npm、cnpm安装「建议收藏」01.npm安装1.node官网https://nodejs.org/zh-cn/2.安装教程https://www.cnblogs.com/goldlong/p/8027997.html01:双击安装02:可以使用默认路径,本例子中自行修改为d:\nodejs03:一路点Next04:点Finish完成05:打开CMD,检查是否正常06:再看看另…

    2022年10月15日
    0

发表回复

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

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