设计模式-UML关系基础

news/2024/7/8 4:24:36

设计模式-UML关系基础
UML关系基础

类之间的关系

泛化

类在继承中表现为泛化和实现。
继承关系为is-a的关系,两个对象之间用is-a表示为继承关系。
eg,自行车是车,猫是动物。
泛化关系用空心箭头表示
如下图。
A继承自B

用空心箭头表示A继承自B
泛化关系表示为继承抽象类。

抽象类可以继承一个具体的类的。
抽象类可以被实体类继承
抽象类可以被其他抽象类继承

实现关系

实现关系用空心箭头表示。
即指向C++中的抽象类(通过纯虚函数实现),java中的接口,表示实现关系。

即,无法直接定义对象的都被成为抽象类。

即,在上方中A继承自抽象类B

聚合关系

用带空心的菱形箭头的直线表示
A聚合到B上,B由A组成。
聚合关系表示实体对象之间的关系,表示整体由部分构成的语义。

一个部门由多个员工组成。为聚合关系。

与组合关系的区别,不是强依赖关系。即使整体不存在,部分依旧存在。
部门撤销,人员不会消失,依旧存在。

组合关系

组合关系用带实心的菱形箭头表示。
A组成B,B由A组成。
组合关系强调强依赖的聚合关系。
整体不存在,则部分也将不存在。
公司不存在,那么部门也将不存在。

关联关系

关联关系用一条直线表示,描述不同类的对象之间的结构关系。
一种静态关系。
通常与运行状态无关。
用于定义对象之间,天然的,静态的结构。
乘车人和车票属于关联关系,学生和学校属于关联关系。
关联关系默认不强调方向。如果强调方向,则A知道B,但是B不知道A

用成员变量来实现

依赖关系

用带箭头的虚线表示两者之间的依赖关系。
A依赖B,描述一个对象在运行期间会用到另外一个对象的关系。
依赖关系体现在类的构造方法,以及类的方法的传入参数。箭头指向为调用关系。
依赖关系能让对象知道,还能使用对方的方法和属性。

时序图

展示对象之间的交互细节,使用时序图。
时序图有对象,生命线,控制焦点,消息。

www.iming.info


http://www.niftyadmin.cn/n/2103126.html

相关文章

Perl 一段非常有用的代码,用来修改文件并备份

需求: 文件系统上有N个文件,他们都是.dat的文本文件,内容形式如下(类似于一个状态卡): Program name: grantie Author: Jackie Company: Symantec Department: QA Phone: 86 1234 5678 Date: Tues March 9,…

Java面向对象----继承概念,super关键字

继承概念: 继承需要符合的关系 is-a , 父类通用更抽象,子类更特殊更具体 类之间的关系 继承体现组合体现实现接口体现继承的意义 代码重用 体现不同抽象层次 extends关键字 Super关键字 代表的是父类的对象的引用 package com.tanlei.newer;public class TeachersDemo {publi…

yii的安装

1.安装composer windows系统直接下载Composer-Setup.exe 运行安装。 2.安装Composer asset plugin composer安装完成后,在一个可通过web访问的目录(如phpstudy的www目录)下,运行以下命令: composer global require &qu…

vector的capacity增长方式

vector的capacity()调用返回vector中最大能够存储的元素个数&#xff0c;也即在下一次需要扩充容量之前能容纳的元素个数。reserve会使容器在必要的时候增长&#xff0c;以便容纳制指定数目的元素。 #include <iostream> #include <vector> using namespace std; i…

前端学习细小知识点记录(日志)

2018/11/7 prompt(string,defaultvalue):类似于警告框alert(),其为提示用户进行输入的对话框&#xff0c;返回string类型。Number()与parseInt()的区别&#xff1a;两者都是进行字符串到数字的转换&#xff0c;但是Number()对于参数中包含非数字时&#xff0c;一律判定为NaN,而…

[雪峰磁针石博客]机器学习工具pytorch中文英文工具书籍下载-持续更新

书籍 深度学习之PyTorch实战计算机视觉 - 2018.pdf 计算机视觉、自然语言处理和语音识别是目前深度学习领域很热门的三大应用方向&#xff0c;本书旨在帮助零基础或基础较为薄弱的读者入门深度学习&#xff0c;达到能够独立使用深度学习知识处理计算机视觉问题的水平。通过阅读…

VMware虚拟机中如何安装VMWare-Tools详解

VMware虚拟机中如何安装VMWare-Tools详解 VMware虚拟机中如何安装VMWare-Tools详解好处&#xff1a;可以支持图形界面&#xff0c;可以支持共享文件功能等VMware虚拟机中如何配置显卡VMware作为一款虚拟机利器&#xff0c;很多人都利用它来实现Linux与Windows的和平共处。相对于…

【其他】composer安装和介绍

windows 系统要求&#xff1a;PHP5.3.2 1、进入cpmposer官网&#xff1a;https://getcomposer.org/download &#xff0c; 往下拉&#xff0c;找Manual Download&#xff0c;下载了最新composer版本。 2、下载完后解压&#xff0c;把composer.phar粘贴到你的php的文件目录下面。…