想要学习源码,必先熟悉设计模式,学习设计模式UML关系是开山之利器。
UML的六种关系
UML定义的关系主要有:实现、泛化、依赖、关联、聚合、组合,这六种关系紧密程度依次加强,分别看一下

实现概念:

实现是一种类与接口的关系,表示类是接口所有特征和行为的实现,在程序中一般通过类实现接口来描述表示方法:空心三角形箭头的虚线,实现类指向接口

泛化概念:

泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展。在程序中是通过继承类实现的。比如狗是对动物的具体描述,在面向对象设计的时候一般把狗设计为动物的子类。表示方法:空心三角形箭头的实线,子类指向父类

依赖概念:

是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖,在程序中一般表现为类A中的方法需要类B的实例作为其参数或者变量,而类A本身并不需要引用类B的实例作为其成员变量。表示方法:虚线箭头,类A指向类B。

关联概念:

表示类与类之间的联接,它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,在程序中被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量表示方法:实线箭头,类A指向类B

聚合概念:

聚合关联关系的一种特例,是强的关联关系。聚合是整体和个体之间的关系,即has-a的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。程序中聚合和关联关系是一致的,只能从语义级别来区分;表示方法:尾部为空心菱形的实线箭头(也可以没箭头),类A指向类B

组合概念:

组合也是关联关系的一种特例。组合是一种整体与部分的关系,即contains-a的关系,比聚合更强。部分与整体的生命周期一致,整体的生命周期结束也就意味着部分的生命周期结束,组合关系不能共享。程序中组合和关联关系是一致的,只能从语义级别来区分。表示方法:尾部为实心菱形的实现箭头(也可以没箭头),类A指向类B

认知篇——UML模型相关推荐

  1. UML模型中的图-实现图【组件图、配置图】

    前言 前面几篇博客小编为大家分享了UML建模中的用例图.静态图.行为图,交互图,本篇继续为大家分享UML模型中的最后一种类型图- 实现图 .实现图用来描述设计的物理实现,如执行文件.库.表.文件.文档 ...

  2. UML模型中的图-静态图【类图、对象图】

    前言 前一篇博文为大家分享了UML模型中的用例图.在完成用例图后,就可以根据用例图的参与者/角色以及用例来进行UML模型的静态设计了,这将会使用UML模型模型中的静态图.本篇博文继续为大家分享UML模 ...

  3. UML模型中的图-用例图

    前言 前面的博文为大家分享了UML模型中的事物和关系,本篇将为大家继续分享UML模型的三大基本构造块- 图 正文 在数学中,或者是生活中,我们会接触到各种各样的图.例如对数据分析,想要看看数据的变化趋 ...

  4. 关于 UML 模型 Visio的说明

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Micr ...

  5. 数据库设计(ER模型和UML模型及转换为关系模型的公式)

    本文根据b站鲁老师的教学视频整理而来,可能会偏理论化,有点枯燥,但是如果认真看完,还是会有所收获哒. 从本文可以学习到: 对于一个即将展开的项目,我们应该怎么设计及实现数据库. 掌握概念模型(ER模型 ...

  6. 全球UML模型共享设计下载中心--www.euml.org上线

    全球UML模型共享设计&下载中心euml.org上线  euml.org是楚凡科技版权所有的公益站点,为全球UML用户和爱好者提供如下服务:  1.在线UML建模工具Trufun eUML.T ...

  7. UML模型的基本概念(转)

    UML软件工程组织 北京火龙果软件工程技术中心 第一章 UML模型的基本概念 1 UML的建筑块 组成UML有三种基本的建筑块: 1.事物(Things) 2.关系(Relationships) 3. ...

  8. UML模型中的图-行为图【状态图、活动图】

    前言 前面的博文为大家分享了UML模型中的用例图.静态图.接下来继续为大家分享UML模型中的图-行为图. 正文 行为图用来描述系统的动态模型和对象之间的交互关系.行为图在UML模型中也是一个语义上分类 ...

  9. CCNA-第四篇-OSI模型-下

    CCNA-第四篇-OSI模型-下 这里先来说一下上一期的问题 来一个小问题 当你访问百度的时候,你的最初的目的MAC是谁? 1.二层交换机(接入) 2.出口设备GW(路由器) 3.运营商 TAG:这是 ...

最新文章

  1. php 表单处理,用PHP提交from表单的处理方法
  2. Topaz Video Enhance AI中文版
  3. 13、MySQL比较运算符
  4. 是什么在吞食我们的科研时间2019-11-24
  5. Postman使用入门
  6. mysql完全卸载大全
  7. Python+OpenCV:模板匹配(Template Matching)
  8. 医学DICOM文件解析(笔记整理)
  9. 手机Linux安装rtl8187L,fedora 19编译安装rtl8187l驱动问题
  10. mac删除默认ABC输入法,mac删除自带ABC输入法
  11. 那些著名的黑客事件 六
  12. 火狐插件 测试浏览器兼容性_在Firefox中测试和报告插件兼容性
  13. 英文名称:DSPE-PEG10-Mal的试剂分子式是C68H127N2O21P
  14. html如何将图片弄成背景,如何用css把图片弄成背景
  15. [论文笔记]CAB:CAching in Buckets CAB-ACME
  16. GuLi商城-在线打开pdm文件
  17. java String工具类/字符串工具类 StringUtil
  18. HUAWEI MateBook Fn 功能键/热键切换、设置方法
  19. 人生重开模拟器(Python实现)
  20. 将电脑新建文本文档txt的默认编码从ANSI改为utf-8

热门文章

  1. (转)我是怎么治愈鼻窦炎的
  2. 每日学术速递4.16
  3. uvm类库搜索_UVM挑战及概述
  4. 如何在html中加入音效,给网页中的按钮和图片添加声音
  5. 《Java从入门到放弃》入门篇:hibernate查询——HQL
  6. 【esp32】阿里飞燕平台
  7. 17款最好用的跨浏览器测试工具
  8. LL-37 GKE、913736-92-2、GKEFKRIVQRIKDFLRNLVPR
  9. webgl用法和简介
  10. 619-Golang的http的文件服务