UML类图简单介绍

时间:2022-09-15 19:33:34

先上一张图:
UML类图简单介绍

概述

类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。

类图组成

类图(Class Diagram)是一个分为三个部分的矩形:上面的部分显示类的名称,居中显示,类名是斜体表示的是抽象类;中间部分显示类的特性(字段和属性);下面的部分显示类的操作(方法或行为)。

注意前面特性和操作部分的符号含义:
+表示属性或方法是公用的(public)
-表示属性或方法是私有的(private)
#表示属性或方法是保护的(protected)

接口

接口(Interface)与类图基本一致,主要区别在于接口顶端有<<interface>>表示。

类图中关系图示说明

注:下面的是以上面的图为例说明。

  • 继承(Generalization)/泛化(Generalization):空心三角形+实线
    实线从子类指向父类,空心三角形与父类连接。(动物和鸟的继承关系)
  • 实现(Realization):空心三角形+虚线
    虚线从实现类指向接口,空心三角形与接口连接,在类图中就是接口和实现的关系。(实现大雁飞翔的接口)
  • 依赖(Dependency):虚线箭头
    虚线箭头由依赖者指向被依赖的类,可以有多个以来。(动物依赖氧气和水)
  • 关联(Association):实线箭头
    实线箭头由使用类指向被关联的类,可以是单向和双向。(企鹅需要知道气候才迁移)
  • 聚合(Aggregation):空心菱形+实线箭头
    空心菱形与整体连接,实线箭头由实心菱形指向部分。(雁群和大雁的关系)
  • 合成/组合(Composition):实心菱形+实线箭头
    实心菱形与整体连接,实线箭头由实心菱形指向部分。(图中鸟和翅膀的关系)
  • 接口:空心圆+直线
    空心圆旁为实现接口的名称,直线连接接口实现与空心圆。(图中唐老鸭类实现了讲人话)

UML类图简单介绍的更多相关文章

  1. UML类图简单学习 各种对象、关系UML表示法

    <大话设计模式>上面的UML类图: 类的UML表示 动物 的矩形框 表示是一个类. 类图分为三层,第一层显示类的名称,如果是抽象类,则用斜体表示:第二层是类的特性,通常就是类的字段和属性: ...

  2. UML类图详细介绍

    类图主要描述程序对象以及他们之间的关系.一般来说,类.接口.抽象类这些程序对象的区别很容易,但是他们之间六种关系以前总是理解不够深刻,这次进行了一次复习,顺便写成博文以便加深理解 类图中的三种对象 类 ...

  3. UML类图简单说明,学习编程思路的必会技能

    摘抄记录学习用 先看一张图,图片资源来自于大话设计模式,接下来我要跟着这本书一起走,如侵权,立即删除. 看见上图估计没学过或者不是本专业的没接触过的人,看这一堆估计就不想看了,但别怕一个一个分析. 一 ...

  4. UML类图介绍(转载)

    UML类图详细介绍   类图主要描述程序对象以及他们之间的关系.一般来说,类.接口.抽象类这些程序对象的区别很容易,但是他们之间六种关系以前总是理解不够深刻,这次进行了一次复习,顺便写成博文以便加深理 ...

  5. UML类图的6大关系

    <小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...

  6. UML类图介绍及简单用法

    原文链接 一.类的属性的表示方式 在UML类图中,类使用包含类名.属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和em ...

  7. UML类图新手入门级介绍

    UML类图新手入门级介绍 举一个简单的例子,来看这样一副图,其中就包括了UML类图中的基本图示法. 首先,看动物矩形框,它代表一个类(Class).类图分三层,第一层显示类的名称,如果是抽象类,则就用 ...

  8. &lbrack;转帖&rsqb;UML类图新手入门级介绍

    UML类图新手入门级介绍 2010-11-12 19:45:00 monkey_d_meng 阅读数 27230  收藏 文章标签: umlinterfaceclass编程扩展更多 分类专栏: 软件工 ...

  9. UML类图介绍&amp&semi;类的六大关系

    UML类图介绍&类的六大关系 官方定义 UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的方式 UML 图形化的语言 基本介绍 UML图: ...

随机推荐

  1. 快速增加sql数据

    declare @i int begin insert into dbo.w10test(Name) select Name from dbo.w10test end;

  2. ubuntu12&period;04静态ip设置问题

    由于linux知识不是学的很深,所以仅代表我自己的设置成功总结. 第一步是设置/etc/network/interfaces 增加静态ip设置 auto eth0iface eth0 inet sta ...

  3. Python—模块

    一.模块 模块,是用一堆代码实现了某个功能的代码集合,模块分为三种:自定义模块(自己定义).内置模块(python自带).开源模块 导入模块 (1).导入一个py文件,解释器解释该py文件 (2).导 ...

  4. C&num;相等性比较

    本文阐述C#中相等性比较,其中主要集中在下面两个方面 ==和!=运算符,什么时候它们可以用于相等性比较,什么时候它们不适用,如果不使用,那么它们的替代方式是什么? 什么时候,需要自定一个类型的相等性比 ...

  5. &lbrack;置顶&rsqb; 局部加权回归、最小二乘的概率解释、逻辑斯蒂回归、感知器算法——斯坦福ML公开课笔记3

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9113681 最近在看Ng的机器学习公开课,Ng的讲法循循善诱,感觉提高了不少 ...

  6. Java:Java快速入门

    链接地址:http://www.cnblogs.com/happyframework/p/3332243.html 你好,世界! 源代码组织方式 Java程序由package+class组成,pack ...

  7. mybatis一对一 和 一对多 嵌套查询

    实际项目中的,接口对外VO  会出现 一对一 和 一对多的情况,举例:小区 下面有 楼栋  ,楼栋 下面有 房屋    ,   房屋里面又房间 小区Vo  : districtVo { id: nam ...

  8. 关于在spring boot里使用Thymeleaf模板的application&period;properties配置

    spring.thymeleaf.cache=false spring.thymeleaf.encoding=utf- spring.thymeleaf.mode=HTML5 spring.thyme ...

  9. poj 2566&quot&semi;Bound Found&quot&semi;&lpar;尺取法&rpar;

    传送门 参考资料: [1]:http://www.voidcn.com/article/p-huucvank-dv.html 题意: 题意就是找一个连续的子区间,使它的和的绝对值最接近target. ...

  10. Smart Contract - Hello World

    [编写Smart Contract] 1.包含头文件. #include <eosiolib/eosio.hpp> #include <eosiolib/print.hpp> ...