Java UML 类图

news2024/11/27 13:30:45

在这里插入图片描述

继承

继承:重用父类的某些功能
缺点:强耦合
耦合:修改一方,会影响另一方
应用:是否需要“向上转型”

接口

行为的抽象、可跨越不同的类

  • 不包含实现
  • 实现类需完全实现
  • 可实现多个接口

是一种“自顶向下”的设计:代码还没有开始写,大致框架已规划好

抽象类

  • 可给出实现
  • 子类可实现部分
  • 只能继承一个抽象类

抽象类一般是通过重构得来,是一种“自底而上”的设计

依赖

必须拥有:鱼离开水不能存活

组合

强拥有关系,体现了严格的整体和部分:人,有两只眼睛,一个鼻子

聚合

弱拥有关系:宠物店可以有哈士奇,也可以没有

关联

一个类,知道另一个类:警犬知道听从口令

来自

  • 大话设计模式,Java 溢彩加强版(程杰) P43页,1.11 UML 类图

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

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

相关文章

C++多态(1)

目录1. 多态的概念2. 多态的定义和实现2.1 多态的构成条件2.1.1 重写2.2.2 指针或者引用2.2 虚函数重写的两个例外2.3 多态里的一个不规范的地方2.4 重载、重写(覆盖)、隐藏(重定义)的对比3. C11 override 和 final1. 多态的概念 …

QSS编辑器QssEditor之三:Ribbon控件与换肤

一.Ribbon控件 Ribbon控件即Office样式UI,Ribbon控件有许多开源实现,例如:Qt优秀开源项目之三:SARibbon SARibbon功能强大,但以学习为目的的话,我们可以自己去实现一个简单的。基本思路是自定义QTabWidget,然后通过QSS调整样式。 如上图所示,我们可以实现一个类QHRi…

IP数据报首部字段、TCP报文段首部字段

文章目录 IP数据报首部字段IP数据报格式TCP报文段首部字段IP数据报首部字段 首部字段功能1.版本是IPv4还是IPv62.首部长度IP数据报首部的长度3.服务类型4.总长度IP数据报的总长度。若总长度>该网段的MTU,则需要分片。分片后IP数据报的总长度必然发生改变。5.标识保证IP分组…

C++--模板

目录 泛型编程 函数模板 函数模板概念 函数模板格式 函数模板的原理 函数模板的实例化 模板参数的匹配原则 类模板 类模板的定义格式 类模板的实例化 非类型模板参数 模板的特化 概念 函数模板特化 类模板特化 泛型编程 不再是针对某种类型,而是能适…

[python]用flask框架搭建微信公众号的后台

用flask框架搭建微信公众号的后台 最近用python写了点爬虫,为了要让爬取的数据能够随时显示在我眼前,并实时根据我的指令返回数据。于是采用微信公众号做这个显示窗口,既能发送指令也能显示简单的相关数据。 准备工具 python3.x环境 pycharm…

vue3与vue2的不同内容

一、main.js入口文件的不同 // 引入的不再是构造函数,引入了一个名为creacteApp的工厂函数 import { createApp } from vue import ./style.css import App from ./App.vue // 创建应用示例对象--->app const app createApp(App) //把组件APP挂载到#app节点上 …

疫情可视化(后续)

前言 这是疫情可视化最开始的文章,有需要了解的可前往查看:https://blog.csdn.net/xi1213/article/details/126824752。 本来说有时间就把这个项目完结了的,结果后面一直有事拖着,直到现在十一月份了才搞完。老样子,先…

拓端tecdat|R语言代做时间序列和ARIMA模型预测拖拉机销售的制造案例研究

全文链接:http://tecdat.cn/?p5421 原文出处:拓端数据部落公众号 相关视频:在Python和R语言中建立EWMA,ARIMA模型预测时间序列 本文是我们通过时间序列和ARIMA模型预测拖拉机销售的制造案例研究示例的延续。您可以在以下链接中找…

2023第二届中国绿色包装创新峰会|低碳与数字化时代的绿色包装

峰会背景 随着中国市场包装使用量的激增,中国已成为全球最大的包装市场,环境中废弃包装所导致的生态负担也同步加剧。但随着消费者可持续发展意识的显著增强,企业环保意识的提升以及国家强制性环保政策的出台,包装可持续发展变得…

初识C++(三)

概述:本篇主要讲述“引用“ 分别就引用的概念、引用特性、引用的应用场景、以及常引用展开描述。后续会补充引用的底层原理,敬请期待。 目录 什么是引用? 引用的三个特性 引用的应用 引用做参数 引用做返回值 常引用 总结 什么是引用&a…

计算机毕业设计(附源码)python智慧停车系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

纸牌游戏设计制作《摸鱼2》(C语言)

纸牌游戏设计制作《摸鱼2》 此游戏设计属于简单的纸牌游戏,是儿童益智类游戏。适用于儿童的认知教育。 游戏规则极为简单,设置纸牌在界面上显示牌背的盲牌形式,点击牌背显示牌面找出相同的牌配对消牌。 这设置主要培养儿童的心理素质&#x…

Arduino WIFI智能小车 无线视频遥控小车(论文+程序+原理图+驱动+安装手册等)

目录 一、项目产生的背景分析 2 1.1项目想法 2 1.2用户将如何从产品中获益 2-3 二、方案设计 3 2.1小车整体系统 2-3 2.2小车部件介绍 3-5 三、小车组装 6 3.1小车配件购置 6 3.2小车部件组装 7-10 3.3小车程序代码的调试 11 3.3.1小车驱动安装 11 3.3.2小车编程环境&#xff0…

K线形态识别_倒锤头线和射击之星(流星、扫帚星)

写在前面: 1. 本文中提到的“K线形态查看工具”的具体使用操作请查看该博文; 2. K线形体所处背景,诸如处在上升趋势、下降趋势、盘整等,背景内容在K线形态策略代码中没有体现; 3. 文中知识内容来自书籍《K线技术分析》…

R语言—基本统计分析

文章目录基本统计分析1基本方法summary()函数apply()函数lapply()函数sapply()函数2.常见的描述指标标准误binom.test (二项分布精确检验)变异系数极差偏度系数(skewness)3分组计算描述性统计量aggregate()函数by()函数频数表和列联表列联表生成频数表一…

STM32F103VET6基于STM32CubeMX创建定时器中断控制LED闪烁

STM32F103VET6基于STM32CubeMX创建定时器中断控制LED闪烁🌼STM32CubeMX配置界面演示 ⚡需求是通过定时器1来控制LED灯1s亮灭。 📌工程分为两部分组成:STM32CubeMX创建并配置工程和业务代码完善 🍁STM32CubeMX创建并配置工程 1.…

用Python实现的这五个小游戏,你真的学会了嘛?

游戏名称1、五子棋 2、雷霆战机 3、贪吃蛇 4、坦克大战 5、俄罗斯方块 开发环境 Python版本:3.6.4 相关模块: pygame模块; 以及一些Python自带的模块。 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 一&am…

【博学谷学习记录】超强总结,用心分享|Hive表生成函数

文章目录explode函数Array类型数据演示演示数据创建一张包含array类型的表插入表数据查询验证使用explode查询Map 类型数据演示演示数据创建一张包含map类型的表加载表数据查询验证使用explode查询later view侧视图关键字演示数据创建表并加载数据查询验证使用lateral view查询…

JVM 面试速记

JVM结构图 类加载器 Bootstrap Class Loader 启动类加载器 C Extension Class Loader 扩展类加载器 java Application Class Loader 应用程序加载器 启动类加载器 只加载包名为java,javax,sun开头的类 扩展类加载器负责加载JAVA_HOME/lib/ext目录的下的类,开发…

R包WGCNA---转录组WGCNA共表达网络构建(基本概念)

R包WGCNA---转录组WGCNA共表达网络构建(基本概念)1. WGCNA简介2. WGCNA分析原理(1)R包WGCNA的主要功能(2)WGCNA的基本概念和工作流程(3)WGCNA分析的常见问题及注意事项1. WGCNA简介 …