UML图基础知识

一、UML简述

类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及他们之间的关系,通过类图,我们能够很好的掌握类与类之间的关系。

首先给出一幅UML类图,此图来源于《大话设计模式》,其中讲的很好,感兴趣的可以去查看。然后细细查看图中的每个符号、每个元素,思考之间的关系。

二、UML类图中包括常用的六种关系以及各自的表示形式

从上图中我们可以很明显的发现六种关系及各自如何表示,

1. 空心三角形+实线:继承关系

2. 空心三角形+虚线:实现接口

3. 空心菱形+实线箭头:聚合关系

4. 实心菱形+实线箭头:组合关系

5. 实线箭头:关联关系

6. 虚线箭头:依赖关系

注意事项一:

图中“+”符号,一共有三种符号:

"+":public

"-":private

"#":protected

注意事项二:

类:第一行写类名称。

第二行声明属性及变量。

第三行声明方法。

类名称以斜体形式表示时,说明此类为抽象类。

注意事项三:

接口:

第一行除了写接口名称之外,还要在最上层标注<<interface>>。

第二行为空。

第三行为方法声明。

继承关系和实现接口这两者在面向对象编程中经常用到,都很熟悉,那么接下来介绍下后面四中关系。

1. 聚合关系,是"has-a"的关系,表示一种弱的“拥有”,表示对象A可以包含对象B,但对象B可能并不是对象A的一部分。

例如雁群和大雁之间的关系,雁群有很多只大雁组成,但大雁也可以不在雁群中。

代码实现:

1 class WideGooseAggregate{
2     private WideGoose[] arrayWideGooses;
3 }

2. 组合关系,是"contains-a"的关系,表示一种很强的“拥有”,体现了部分和整体的关系,部分和整体的生命周期相同。

例如鸟和翅膀之前的关系,翅膀是鸟的组成部分,两者之前的声明周期是相同的。

代码表示:

1 class Bird{
2     private Wing mWing;
3     public Bird(){
4         mWing = new Wing();//初始化时,同时生成翅膀Wing,表示同时开始,也必然同时结束
5     }
6 }

3. 关联关系:是一种结构化的关系,指一种对象和另一个对象有联系。给定有关联的两个类,可以从一个类的对象得到另一类的对象。

例如企鹅和气候的关系。

代码表示:

1 class Penguin extends Bird
2 {
3     private Climate climate;//在企鹅Penguin对象中引用了气候Climate对象
4 }

4. 依赖关系:是一种使用关系,特定事物的改变有可能会影响到使用该事物的物体,反之不成立。

例如动物要有生命力,需要氧气,水及食物等,所以动物依赖于氧气,水等,他们之间是以来关系。

代码实现:

1 abstract class Animal{
2     public Metabolism(Oxygen oxygen,Water water){
3
4     }
5 }
时间: 2024-11-10 19:58:45

UML图基础知识的相关文章

《大话设计模式》笔记-基础知识1:UML类图基础知识

好多计算机技术书籍或者文章中常用到UML类图,本书作者介绍每一种设计模式就是用类图+面向对象语言小程序(用的C#,其基础知识另文介绍)+人物对话解释知识点.本文就是介绍<大话设计模式>中所用到UML类图的基础知识. 上图是一个整体的图,特别要注意各种样式的箭头,下文分别用局部小图说明各知识点. 类 类图分三层: (1)      类名称,如果是抽象类就用斜体标识.本例,类名称是"动物",且其是一个抽象类. (2)      类特性,通常是字段和属性.本例,类特性是"

如何看K线图基础知识

在日K线图中一般白线.黄线.紫线.绿线依次分别表示:5.10.20.60日移动平均线,但这并不是固定的,会根据设置的不同而不同,比如你也可以在系统里把它们设为5.15.30.60均线. 你看K线图的上方有黄色PMA5=几的字样,就是五日均线等于几的意思.其他的有紫色的10日均线PMA10=什么的.设定的话双击数字就行!数字是几就是几日均线,颜色和线的颜色一样! 那是移动平均线,在日K线图中一般白线.黄线.紫线.绿线依次分别表示:5.10.20.60日移动平均线,但这并不是固定的,会根据设置的不同

关于‘UML’的基础知识

统一建模语言也就是我们常说的UML(Unified Modeling Language),是一种支持模型化的和软件系统开发的图形化建模语言,它能比较直观的让我们了解软件模块之间的关系.因此在这个系统开发的时候采用面向对象的开发方法也许是一个明智的选择,它的基本思想就是采用对象的角度来看待每一个具体的问题.这样制作出来的软件才是一个维护性好,可重用性高和模块功能具体的软件系统.UML事物包括四种:构件事物,行为事物,分组事物,注释事物. 构件事物:UML模型中的静态部分,它是用来表示系统的静态元素

关于图算法 &amp; 图分析的基础知识概览

网址:https://learning.oreilly.com/library/view/graph-algorithms-/9781492060116/ 你肯定没有读过这本书,因为这本书的发布日期是2019年5月.本文会覆盖该书的大部分内容,读完这篇,你能够了解图算法的基本概念.关于此书,作为市面上为数不多的面向数据科学应用的图算法书籍,写的比较全面系统和易懂.当然,书在细节上的提高空间还有很多.今天内容很多,坐稳~ 目录 图算法 & 图分析 图基础知识 连通图与非连通图 未加权图与加权图 有

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

UML基础知识

(这个是很久以前写的一篇关于UML的文章,现在放出来和大家共享) 了解一下类与类之间的关联基础知识很有必要,因为这些关系就像我们建造房子的基石,是面向对向编程的基础. 类中的关系有六种,分别是关联(Association)关系.聚合(Aggregation)关系.组合(Composition)关系.泛化(Generalization)关系.实现(Realization)关系以及依赖(Dependency)关系,下面分别介绍这六种关系. 依赖(Dependency)关系 依赖是对象之间最弱的一种关

前端photoshop基础知识之切图

工作中需要应用到的ps知识多半是切图以及一些图片的微调.学习ps的一些基础知识,熟练掌握切图技术有助于更高效的完成工作任务以及达到更高的目标 首先需要对新建(ctrl+n)的文件进行环境的设置,包括网页宽度(一般设为1920px).背景颜色(设为透明).移动工具(自动选择设为图层).视图(勾选智能参考线及标尺).窗口(关闭不需要的工具,勾选信息.字符选项,各个部分单位均改成像素).编辑(选项中的标尺与单位均改成像素)的设置,最后存储工作区,以便下次继续使用. 环境设置之后开始ps基本操作.移动工

计算机的基础知识+python安装+pycharm安装+思维导图

目录 计算机的基础知识 计算机是由什么组成的 什么是操作系统??控制计算机流程的软件 什么是应用程序??在操作系统之上运行的软件 python安装 pycharm安装和使用 下载Pycahrm和安装 使用Pycharm 首次使用Pychram 激活Pycharm 个性化设置 启动成功 创建文件 PyCharm选择解释器 PyCharm创建py文件 pycharm快捷键使用方法部分 思维导图 计算机的基础知识 计算机是由什么组成的 主板:人的骨架 用于扩展设备的 cpu: 人的大脑 用于计算和逻辑

Python基础知识思维导图|自学Python指南

微信公众号[软件测试大本营]回复"python",获取50本python精华电子书. 测试/开发知识干货,互联网职场,程序员成长崛起,终身学习. 现在最火的编程语言是什么?答案就是Python. 人生苦短,我用Python Python的特点: Python一直是位于编程语言排行榜的前三位, Python遵循"简单.优雅.明确"的设计哲学,语法简单易懂,而且Python的中文文档也于2019年3月份发布,各种开发环境也越来越简单. Python免费开源. Pytho