软件设计师-基础知识科目-面向对象技术知识7

news2024/11/24 13:29:44

七、面向对象技术知识:

面向对象基础知识:

对象:

  • 对象的组成部分包括:对象名,状态(属性),行为(操作)。

类:

  • 类的分类:实体类、接口类(边界类)和控制类。
    • 实体类的对象,表示现实世界中真实的实体,如人、物等。
    • 接口类(边界类)的对象,为用户提供一种与系统合作交互的方式,分为人和系统两大类。
      • 人的接口可以是显示屏、窗口、Web窗体、对话框、菜单、列表框、其他显示控制、条形码、二维码或者用户与系统交互的其他方法。
      • 系统接口涉及到把数据发送到其他系统,或者从其他系统接收数据。
    • 控制类的对象,用来控制活动流,充当协调者。

多态:

  • 参数多态(通用的):用泛型编程是发散式的,是静态绑定的,让相同的实现代码应用于不同场合,看重的是算法的普适性。
  • 包含多态(通用的):利用OOP,是收敛的,是动态绑定的,让不同的实现代码应用在相同的场合,注重接口与实现的分离度。
  • 强制多态(特定的):一种类型的变量在作为参数传递时隐式转换成另一种类型,比如,一个整型变量可以匹配浮点型变量的函数参数。
  • 过载多态(特定的):同一个名(操作符,函数名),在不同的上下文中有不同的类型。
  • ---- ----
  • 多态通过绑定实现,静态绑定或动态绑定。
  • 面向对象技术中,多态由继承机制来支持。

小点:

  • 面向对象设计时,包含的主要活动:认定对象、组织对象、描述对象间的相互作用、确定对象的操作。背
  • 常见的命名对象有:变量、函数、数据类型。

UML:

顺序图:

  • 实体类:负责数据和业务逻辑。
  • 边界类:负责和用户进行交互,即用户界面。
  • 控制类:负责实体类与界面类的交互。

类图:

聚合与组合关系举例:
  • 购物车与商品是整体与部分的关系,购物车包含了商品,但是商品可以脱离购物车独立存在,这是一种聚合关系。
  • 网店与商品之间是一种整体与部分的关系,商品是网店的一部分,如果网店不存在了,那么网店中的商品也不存在,它们之间是组合关系。
类图建模场景:
  • 系统的词汇
  • 简单的协作
  • 逻辑数据库模式
UML的系统视图:Pass
  • 逻辑视图(设计视图):它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
  • 进程视图:进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
  • 实现视图:实现视图对组成基于系统的物理代码的文件和构件进行建模。
    • 构建图
  • 部署视图:部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
  • 用例视图:用例视图是最基本的需求分析模型。

UML图总结:

  • 静态建模:类图、对象图、用例图。
  • 动态建模:序列图(顺序图,时序图)、通信图(协作图)、状态图、活动图。
  • 物理建模:构件图(组件图)、部署图。

UML小点:

  • 展示交付系统的软件组件和硬件之间的关系的图是 部署图。
  • UML适用于迭代式的开发过程。

设计模式:

  • 考点:概念,记录关键字;设计模式的类图。

构造型(创建型)模式:

  • 考过:
    • 构建器模式:将复杂类的表示与其构造相分离。
    • 原型模式:指定创建对象的类型,并且通过拷贝这个原型创建的对象。

结构型模式:

  • 考过:
    • 适配器模式:接口转换
    • 桥接模式:将类的抽象部门和它实现部分分离开了,使他们可以独立地变化。继承树拆分。
    • 组合模式:树形目录结构、表示"整体-部分"。
    • 装饰模式:附加职责。
    • 享元模式(Flyweight):支持大量细粒度对象共享。例如:目录浏览器设计,将具有相同名称对象,看出不同对象。
    • 外观模式:对外统一接口。
    • 代理模式:提供一种代理以控制这个对象的访问。

行为型模式:

  • 概念:涉及算法和对象间职责的分配。
  • 考过:背
    • 命令模式:日志记录、可撤销。将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化 .... 。
    • 责任链模式:传递职责。 具体举例:日记级别处理。
    • 策略模式:定义一系列的算法,把它们一个个封装起来,并且可以相互替换。
    • 中介模式:不直接引用,通过中介对象来交互。
      • 场景:一组对象以定义良好,但是复杂的方式进行通信,产生的相互依赖关系结构混乱,且难以理解。
    • 访问者模式:作用于某对象结构中的各元素的操作,在不改变各元素的类的前提下,定义作用于这些元素的新操作。一个Visitor对象是一个多态的accept 操作的参数。
    • 观察者模式:一个状态发生变化,所有依赖它的对象都得到通知,并自动更新。

类模式与对象模式分类:

  • 类模式:使用继承机制在类间分配行为。
  • 对象模式:使用对象复合,而不是继承。
  • Tips:每一大类分成两小类,可以背每一大类的类模式,不在类模式中的就是对象模式。

小点:

  • 在面向对象方法中,动态绑定支持多态。
  • 简单工厂模式属于创建型模式,但不属于23种设计模式之一。

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

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

相关文章

CentOS7 boa服务器的搭建和配置

环境是CentOS7,但方法不局限于此版系统,应该是通用的。 具体步骤如下: 1. 下载boa源码 下载地址: Boa Webserver 下载后,进入压缩包所在目录,进行解压: tar xzf boa-0.94.13.tar.gz 2. 安装需要的工具b…

信息系统项目管理师——第23章组织通用管理

本章在第三版流程和知识管理的基础上新增了2节内容,从2023年上半年的考情来看来 选择题,考1分左右,知识点比较分散,刷下题,考前突击下即可。 案例题,不考。 论文题,不考。 1人力资源管理 1.人…

微服务学习(黑马)

学习黑马的微服务课程的笔记 导学 微服务架构 认识微服务 SpringCloud spring.io/projects/spring-cloud/ 服务拆分和远程调用 根据订单id查询订单功能 存在的问题 硬编码 eureka注册中心 搭建eureka 服务注册 在order-service中完成服务拉取 Ribbon负载均衡 Nacos注册中心…

结合ArcGIS+SWAT模型+Century模型:流域生态系统水-碳-氮耦合过程模拟

原文链接:结合ArcGISSWAT模型Century模型:流域生态系统水-碳-氮耦合过程模拟https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&tempkeyMTI2NV9sMGRZNUJoVkNVc1ZzSzRuMl9XXzhqX0R3cXpESWFwM1E4cFY4ejNqWFh3VUl0dlZkNWk4b20ydFdFTy1xS2ZObGN0Z0ZXSjly…

交流电源的频率如何测试

交流电源的频率是指每秒钟交流电源周期的数量,通常是50Hz和60Hz。但是在实际使用中会有一定的波动,一般交流电源频率的波动范围是10%。 交流电源频率的高低对电路有很大的影响,直接影响着电能质量和电路的稳定性。此外,交流电源的…

Docker核心特征

Docker的基本概念 Dockerfile:制作进行的文件,可以理解为制作镜像的一个清单。 镜像:用来创建容器的安装包,可以理解为给电脑安装操作系统的系统镜像。 容器:通过镜像来创建的一套运行环境,一个容器里可…

eBPF 主题分享:Kindling-OriginX 解密如何揭开可观测性盲区实现根因推导

“第二届eBPF开发者大会”将于2024年4月13日在陕西省西安市线下召开,由西安邮电大学主办。本次大会以“发挥eBPF技术力量,提升计算机系统可观测性和性能”为主题,涵盖了eBPF技术及发展、eBPF网络安全应用、eBPF可观测性及应用、软件性能工程等方面&#…

代理模式:控制对象访问的智能方式

在面向对象的软件开发中,代理模式是一种结构型设计模式,它为其他对象提供一个代理或占位符以控制对这个对象的访问。代理模式在实现权限控制、延迟初始化和远程对象访问等方面非常有用。本文将详细介绍代理模式的定义、实现、应用场景以及优缺点&#xf…

Tomcat以服务方式启动,无法访问网络共享目录问题

关于“Tomcat以服务方式启动,无法访问网络共享目录问题”解决方式如下: 1、通过doc命令【services.msc】打开本地服务找到,找到tomcat服务所在位置 2、右键打开Tomcat服务的属性 3、选择 登陆选项卡 4、选择“此账户”选项,并…

预告:(阶乘)+统计读取的单个字符+把我电脑给干关机了的题,还好在tmp里面找到(穷举法编程)+(双循环算法)+(最大公约数,最小公倍数)

在赶一篇作业出来 第一个: 题目:编程实现,求saaaaaaaa⋯an个a的值,其中a是一个数字。例如当a为2,n为5时,计算,2+22+222+2222+22222的值。 #inc…

elementUI 下拉框加提示文案

效果如下&#xff1a; 展示文案在最下面&#xff0c;跟选项有个分割线 <el-select v-model"value" placeholder"请选择" clearable popper-class"addNotice" class"addNoticeS" visible-change"(v) >selectNotice(v,展示…

物联网SaaS平台

在信息化、智能化浪潮席卷全球的今天&#xff0c;物联网SaaS平台作为推动工业数字化转型的重要工具&#xff0c;正日益受到广泛关注。那么&#xff0c;物联网SaaS平台究竟是什么&#xff1f;HiWoo Cloud作为物联网SaaS平台又有哪些独特优势&#xff1f;更重要的是&#xff0c;它…

Docker 学习笔记(三):Centos7 中 Docker 使用,镜像、容器,以及操作等常用命令小结

一、前言 记录时间 [2024-4-7] 前置文章&#xff1a; Docker学习笔记&#xff08;一&#xff09;&#xff1a;入门篇&#xff0c;Docker概述、基本组成等&#xff0c;对Docker有一个初步的认识 Docker学习笔记&#xff08;二&#xff09;&#xff1a;在Linux中部署Docker&#…

IDEA2023连接服务器docker并部署ruoyi-cloud-plus项目

文章目录 TCP 方式连接docker1. 服务器docker配置修改查看虚拟机中Docker配置文件位置修改配置文件重启docker服务关闭防火墙 2. idea安装docker插件3. idea连接docker服务 部署ruoyi-cloud-plus项目1. 项目环境说明2. 安装Centos73. 安装docker4. idea配置服务器SSH连接5. ide…

SHAP安装问题

一、安装 pip install shap -i https://pypi.tuna.tsinghua.edu.cn/simple 二、遇到问题 1、提示报错如下&#xff1a; ModuleNotFoundError: No module named numba.core 安装numba&#xff1a; pip install numba -i https://pypi.tuna.tsinghua.edu.cn/simple 提示已经…

【go从入门到精通】作用域,包详解

作者简介&#xff1a; 高科&#xff0c;先后在 IBM PlatformComputing从事网格计算&#xff0c;淘米网&#xff0c;网易从事游戏服务器开发&#xff0c;拥有丰富的C&#xff0c;go等语言开发经验&#xff0c;mysql&#xff0c;mongo&#xff0c;redis等数据库&#xff0c;设计模…

基于React封装Handsontable并兼容antd

背景 其实Handsontable官方也提供了React的版本&#xff0c;但是官方的版本再编辑和渲染的时候并不能够很好的嵌入第三方的组件库。这就导致了&#xff0c;使用了Handsontable就没有办和普通的react项目一样轻松引用其他第三方组件。因此对其react的版本进行了二次的封装&#…

MySQL之sql性能分析

sql执行频率 MySQL客户端连接成功后&#xff0c;通过show[session|global]status命令可以提供服务器状态信息。通过如下指令&#xff0c;可以查看当前数据库的所有INSERT、DELETE、UPDATE、SELECT的访问频次。 慢日志查询 慢查询日志记录了所有执行时间超过指定参数(longquer…

石子合并(区间dp)-java

石子合并问题是经典的区间dp问题&#xff0c;我们需要枚举中间端点k的情况从而来推出dp数组的值。 文章目录 前言 一、石子合并问题 二、算法思路 1.问题思路 2.状态递推公式 二、代码如下 代码如下&#xff08;示例&#xff09;&#xff1a; 2.读入数据 3.代码运行结果如下&am…

CY7.5-COOH荧光属性Cyanine7.5花菁染料

CY7.5-COOH&#xff0c;作为一种Cyanine 7.5花菁染料&#xff0c;在荧光属性上表现出色。其独特的化学结构赋予了它荧光性质&#xff0c;使其在生物标记、荧光成像和光学传感等领域具有诸多应用前景。 CY7.5-COOH具有出色的荧光量子产率&#xff0c;这意味着在激发光的照射下&…