类图表示法

设计模式,用设计图表示的话,主要用到类图。常见UML类图如下:

在这里插入图片描述

1、类图:矩形框,代表一个类(Class)。类图分为三层,第一层显示类的名称,如果是抽象类,则用斜体显示。第二层是类的特性,通常是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,“+”表示 public,“-”表示 private,“#”表示 protected。如动物

     在这里插入图片描述

 2、接口图:接口(interface)用矩形框表示,接口图分两层,第一层是接口名,顶端有<<interface>>;第二层是接口方法,如飞翔。接口还可以使用棒棒糖表示法表示,如“讲人话”

  

3、关系:类与类、类与接口之间的关系,

(1)继承:用空心三角形 + 实线表示,指向父类

     在这里插入图片描述

(2)实现接口:用空心三角形 + 虚线表示,指向接口

在这里插入图片描述

 (3)关联关系:看企鹅和气候的两个类,企鹅是很特别的鸟,会游不会飞。更重要的是,它与气候有很大的关联,每年会进行长途跋涉。企鹅需要“知道”气候的变化,需要“了解”气候的规律。当一个类“知道”另一个类时,可以用关联(association)。关联关系用实线箭头来表示。

 在这里插入图片描述

class Penguin : Bird{//企鹅中引用到气候对象private Climate climate;
}

 (4)聚合关系:大雁和雁群这两个类,大雁是群居动物,每只大雁都属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱“拥有”关系,体现的是 A 对象可以包含 B 对象,但 B 对象不是 A 对象的一部分。聚合关系用空心的菱形 + 实线箭头来表示。

在这里插入图片描述

public class WideGooseAggregate
{// 在雁群 WideGooseAggregate 类中,有大雁数组对象 arrayWideGeesepublic WideGoose[] arrayWideGeese;
}

 (5)合成关系:合成(Composition,组合)是一种强的“拥有关系”,体现了严格的部分和整体的关系,部分和整体的生命周期一样。在鸟和其翅膀就是合成(组合)关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。合成关系用实心的菱形 + 实线箭头来表示。合成关系的连线两端有一个数字“1”和数字“2”,这被称为基数,表明这一端的类可以有几个实例,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用“n”来表示。关联关系、聚合关系也可以有基数。

在这里插入图片描述

public class Bird
{private Wing wing;public Bird(){// 在鸟 Bird 类中,初始化时,实例化翅膀 Wing,他们之间同时生成wing = new Wing();}
}

 (6)依赖关系:动物几大特征,如有新陈代谢、能繁殖,而动物要有生命力需要氧气、水以及食物等。也就是说,动物依赖于氧气和水,他们之间是依赖关系(Dependency),用虚线箭头表示

在这里插入图片描述

public abstract class Animal
{public void Metabolism(Oxygen oxygen, Water water){}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/117802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac安装nodejs,跑vue程序

1. 下载node.js for mac&#xff0c;地址&#xff1a;Node.js。一路安装就可以了&#xff0c;无需修改。 2. mac终端&#xff0c;查看node和npm的版本。 3. 配置环境变量&#xff0c; vim .bash_profile增加PATH$PATH:/usr/local/bin/ 4. 但是毕竟npm安装一些东西还是太慢了所…

霍尔电流传感器如何应用在数据中心电量监测的-安科瑞 蒋静

摘要&#xff1a;数据中心供电电源质量的好坏直接影响到IT设备的安全运行&#xff0c;因此对数据中心直流列头柜电源进出线实行监测非常重要&#xff0c;而通过霍尔电流传感器可以采集主进线电流、多路支路直流电流和漏电流。 关键词&#xff1a;数据中心&#xff1b;直流列头…

好用的Visio绘图文件工具 VSD Viewer最新 for mac

VSD Viewer是一款可以查看Microsoft Visio绘图文件的工具&#xff0c;适用于Windows和macOS操作系统。它具有以下优点&#xff1a; 直观易用&#xff1a;VSD Viewer的用户界面非常简单直观&#xff0c;易于使用。支持多种文件格式&#xff1a;VSD Viewer支持多种Visio文件格式…

Rust逆向学习 (2)

文章目录 Guess a number0x01. Guess a number .part 1line 1loopline 3~7match 0x02. Reverse for enum0x03. Reverse for Tuple0x04. Guess a number .part 20x05. 总结 在上一篇文章中&#xff0c;我们比较完美地完成了第一次Rust ELF的逆向工作&#xff0c;但第一次编写的R…

公司电脑屏幕录制软件有什么功能

电脑屏幕录制软件有很多&#xff0c;今天简单说说说它的基础功能和附属功能&#xff1a; 基础功能&#xff1a; 1、屏幕录像 支持对所选电脑的屏幕进行录制&#xff0c;并且支持调整截屏频度、画面质量、单个视频时长等。 2、实时屏幕 可以对对方电脑进行实时屏幕查看&…

linux网络测试命令

文章目录 一.route命令解释二.traceroute命令三.nslookup命令四.本地主机映射文件五.修改网络配置文件六.设置网络接口参数 一.route命令解释 Destination&#xff08;目标&#xff09;&#xff1a;这一列显示要路由的目标网络或主机的IP地址。它标识了数据包要发送到的目的地。…

浙江环保用电计量adw300-hj治污产污生产设备监测

浙江环保用电计量表&#xff0c;浙江环保用电能表&#xff0c;浙江环保督查计量电表&#xff0c;环保设备能耗采集表 企业基本信息 企业名称&#xff1a;XXXXXXXXXXX 企业地址&#xff1a;XX省XX市 工 程 量&#xff1a;X台监测仪表 预计工期&#xff1a;X天 监测点位信息…

实战经验分享:打造千万级直播项目,如何选择适合的长连接技术,告别CRUD开发

前言 其实不管大厂、小厂&#xff0c;做业务开发的同学都知道&#xff0c;写一个功能&#xff0c;有中台&#xff0c;有架构&#xff0c;有API&#xff0c;有SDK&#xff0c;很多可复用的代码直接调一下RPC接口或者一个注解就搞定了复杂的操作&#xff0c;所以很多螺丝钉们都没…

OPC UA:工业领域的“HTML”

OPC UA是工业自动化领域的一项重要的通信协议。它的特点是包括了信息模型构建方法。能够建立工业领域各种事物的信息模型。在工业自动化行业&#xff0c;OPCUA 类似互联网行业的HTTP协议和“HTML”语言。能够准确&#xff0c;可靠地描述复杂系统中各个元素&#xff0c;并且实现…

机器学习中常见的特征工程处理

一、特征工程 特征工程&#xff08;Feature Engineering&#xff09;对特征进行进一步分析&#xff0c;并对数据进行处理。 常见的特征工程包括&#xff1a;异常值处理、缺失值处理、数据分桶、特征处理、特征构造、特征筛选及降维等。 1、异常值处理 具体实现 from scipy.s…

桶装水订水送水小程序开发搭建;

上门送水小程序桶装水配送是一款的同城上门配送平台&#xff0c;为用户提供便捷的桶装水配送服务。解决用户在获取干净健康的饮用水方面的需求&#xff0c;提供高效、便捷的在线预约和下单服务。 小程序平台开发&#xff0c;具备强大的技术支持和良好的用户体验。用户可以通过…

跨平台开发技术

目录 1.Qt1.简介2.优势3.劣势 2.NET CoreVue1.简介2.优点 3.Flutter1.简介2.优点3.缺点 4.Maui1.简介2.优点3.缺点 5.Avalonia1.简介2.优点3.缺点 6. Cordova1.简介2.优点3.缺点 7.Electron1.简介2.优点3.缺点 个人搜集资料并总结了一些跨平台开发技术&#xff0c;如有不足欢迎…

分享一下怎么做一个房间预定链接

在旅游行业中&#xff0c;房间预定是非常重要的一环。随着互联网的普及和旅游业的发展&#xff0c;越来越多的人选择在网上预订房间。本文将介绍如何制作一个房间预定链接&#xff0c;以及推广该链接的方法和策略&#xff0c;帮助读者更好地了解房间预定的需求和实现方式。 一、…

隧道代理 vs 普通代理:哪种更适合您的爬虫应用?

前言 随着互联网的普及&#xff0c;爬虫技术在多个领域得到广泛应用。在进行爬虫开发时&#xff0c;代理服务器是不可或缺的工具之一。代理服务器可以隐藏客户端的真实 IP 地址和位置&#xff0c;从而保护客户端的隐私&#xff0c;同时通过代理可以绕过一些网络限制和安全机制…

什么是React中的高阶组件(Higher Order Component,HOC)?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

迅为itop-3568开发板qt学习手册上新

基于RK3568的QT教程他来了~从C基础到QT编程实例再到项目实战&#xff0c;《iTOP-3568开发板QT学习手册》带你打通QT的任督二脉。 界面布局 3.5.1 水平布局 l Horizontal Layout&#xff1a;水平方向布局&#xff0c;组件自动在水平方向上分布 使用时先选中组件&#xff0…

设计模式中的黄金原则:引领你的代码风格,提升可维护性与扩展性

中国的先贤说过: 有道无术,术可求.有术无道,止于术. 术指的是技能、技术或方法&#xff0c;而道指的是原则、道德、智慧和理念。 西方古代的哲人也说过同样的话: 智慧之路从感性开始&#xff0c;却终极于理性.为什么要说设计原则呢, 因为设计模式通常需要遵循一些设计原则&…

Ant-Design-Pro-V5 :QueryFilter高级筛选组件、Table以及Pagination组件结合实现查询。

需求&#xff1a;根据 分类条件选择不同类型&#xff0c; table表格调取不同接口&#xff0c;展示不同数据。 代码&#xff1a; import React, { useRef, useState, Fragment, useEffect } from react; import { getNoticeInfo, getBannerList, delNotice } from ./service; …

windows系统ntp服务器一键开启

脚本 echo off REM 自动判断权限问题&#xff0c;主动获取管理员权限 echo off >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if %errorlevel% NEQ 0 ( goto UACPrompt ) else ( goto gotAdmin ) …

探索随机森林: 机器学习中的集成学习神器

机器学习 第七课 随机森林 概述机器学习机器学习的主要分类监督学习无监督学习强化学习 集成学习提高准确性增强稳定性提升泛化能力 集成学习的主要方法BaggingBoostingStacking 随机森林的理论基础决策树的基本原理随机森林的生成过程随机森林的优势与局限性 随机森林的实际应…