前言

简单整理一些uml中的类图。

正文

类的基本表示法:

名称、属性(类型、可见性)、方法(参数、返回值、可见性)

想上面这样,第一行是名称,第二行是属性,第三行是方法

可见性:

  • 表示public
  • 表示private

表示protect

接口表示法:

接口和类差不多,但是前面有一个<>的标志。

包表示法:

包可以表示层级关系:

包还可以用来组织各种内容:

包是一个层级更大的概念,可以指不同层级,也可以指不同的子系统等。

类与类之间的关系:

  1. 依赖关系
  2. 关联关系
  3. 泛化(extends)
  4. 实现(implements)
  5. 聚合关系
  6. 组合关系

现在来一一看下他们的关系:

关联关系:

关联关系分为双向关系和单向关系:

双向这样表示也是可以的:

就是用一更横向表示。

那么双向管理有两种表示法,一种是双向实心箭头,或者一根横线。

比如老师和学生,老师拥有多名学生,学生可以有多名老师。

单向关联如上,一个人拥有多个地址,但是地址和人没有关系。

也有些地方这样表示的:

表示他们1对多的关系。

这样表示都是可以的。

然后值得注意的是有些地方把双向关系称为关联,单项关系称为关系。

这是一个值得注意的地方,看团队的语义。

最后一个关联是自关联:

比如节点下面有节点,这就是自关联了。一个节点Node的成员又是节点对象。

下面是实现:

比如UserDaoImpl 实现 UserDao。

用的是虚线和空心箭头。

然后是继承关系:

比如狗继承动物,用的是实现空心箭头。

下面是依赖关系:



用的是虚线箭头表示。

聚合关系:

聚合(Aggregation)关系表示整体与部分的关系

在聚合关系中,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在

在UML中,聚合关系用带空心菱形的直线表示

飞机场里面有飞机。

组合关系:

组合(Composition)关系也表示类之间整体和部分的关系,但是在组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在

成员对象与整体对象之间具有同生共死的关系

在UML中,组合关系用带实心菱形的直线表示

下一节领域模型

UML 哲学之道——类图[三]的更多相关文章

  1. UML学习笔记:类图

    UML学习笔记:类图 有些问题,不去解决,就永远都是问题! 类图 类图(Class Diagrame)是描述类.接口以及它们之间关系的图,用来显示系统中各个类的静态结构. 类图包含2种元素:类.接口, ...

  2. UML基础系列:类图

    类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,如关联.依赖.聚合等,还包括类的内部结构(类的属性和操作).类图描述的是静态关系,在系统的整个生命周期中都是有效的.对象图是类图的实 ...

  3. Uml 建模 一(类图建模和startuml的使用)

    本文将分三个部分介绍Uml建模:Uml建模的作用.类图.startuml的使用 Uml的作用 本文以java为例介绍Uml,在当前的软件开发中大多数使用面向对象开发(OO),面向对象的就是将现实世界中 ...

  4. UML类图三

    2. 依赖关系  依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系.大多数情况下,依赖关系体现在某个类的 ...

  5. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  6. UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  7. 《设计模式》读懂UML类图

    一.类中的主要关系 继承.实现.组合.聚合.依赖.关联 二.UML类图 三.代码实现 public class H2O { } public class O2 { } public interface ...

  8. 18、面向对象基本原则及UML类图简介

    18.1.面向对象基本原则 18.1.1.面向抽象原则 抽象类特点: a.抽象类中可以有abstract方法,也可以有非abstract方法. b.抽象类不能用new运算符创建对象. c.如果一个非抽 ...

  9. 软件工程 #02# Entity Relationship Diagram VS. 用 UML 中的类图表示 E-R 图

    不同的老师叫我们画 E-R 图居然是不一样的,于是我仔细研究了一番.. 通常所说的 E-R 图(外文全称 Entity Relationship Diagram,简称 ERD)长这个样子: 而有时候它 ...

  10. UML类图(三)-------实例

    实例分析1——登录模块 某基于C/S的即时聊天系统登录模块功能描述如下: 用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较, ...

随机推荐

  1. vscode 函数注释方法 输入 /** 回车 自动就出来了

    vscode 函数注释方法 输入 /** 回车 自动就出来了

  2. 简单实用算法——二分查找法(BinarySearch)

    目录 算法概述 适用情况 算法原理 算法实现(C#) 实际应用:用二分查找法找寻边界值 参考文章 算法概述 二分查找(英语:binary search),也叫折半查找(英语:half-interval ...

  3. day08-Axios

    Axios 1.基本说明 Axios是一个基于promise的网络请求库,作用于node.js和浏览器中.它是 isomorphic 的 (即同一套代码可以运行在浏览器和node.js中).在服务端它 ...

  4. 【2310. 个位数字为 K 的整数之和】背包

    import java.util.*; class Solution { public static void main(String[] args) { Solution solution = ne ...

  5. VUE3.0---Pinia学习记录

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Pinia优势 Pinia是一个全新的Vue状态管理库,是Vuex的代替者,尤雨溪强势推荐 Vue2 和 Vue3 都能支持 抛弃传统的 ...

  6. 记录--uni-app App端半屏连续扫码

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本文用一个简单的 demo 讲解 App端 半屏连续扫码 的实现方式,包括(条形码.二维码等各种各样的码). 我会从实现思路讲起,如果你比 ...

  7. 使用vott对车牌位置进行标注

    1.软件安装 vott 下载地址 https://github.com/microsoft/VoTT/releases 双击vott-2.2.0-win32.exe安装标注软件,安装成功后桌面会生成应 ...

  8. parameter常数及常数函数的使用

    模型功能 常数在verilog设计中具备特殊的含义 一个可以由编译器进行处理的数 和C语言中常数一个不变的变量的作用不同 在verilog中,常数更多地作为预编译变量以提高设计的灵活性 在上一篇文章中 ...

  9. SQL Server表分区-水平分区3

    目录 一.常用分区步骤 1.创建文件组 2.创建数据文件到文件组里面 3.使用图形界面向导创建分区表(不推荐) 3.使用T-SQL构建分区函数与分区方案(推荐) [3.1]建表时构造 [3.2]已有表 ...

  10. 一篇文章了解CI/CD管道全流程

    从CI/CD过程开始,包含所有阶段并负责创建自动化和无缝的软件交付的一系列步骤称为CI/CD管道工作流.使用CI/CD管道,软件发布工件可以从代码提交阶段到测试.构建.部署和生产阶段在管道中移动和前进 ...