软考:软件设计师 — 10.面向对象技术

news2024/11/24 6:09:08

十. 面向对象技术

1. 面向对象基本概念

(1)对象与类相关概念

在面向对象的系统中,对象是基本的运行时的实体,它既包括数据(属性),也包括作用于数据的操作(行为)。一个对象把属性和行为封装为一个整体。封装是一种信息隐蔽技术,它的目的是使对象的使用者和生产者分离,使对象的定义和实现分开一个对象通常由对象名(ID)、属性和行为(方法)三部分组成。

一个类定义了一组大体上相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和属性。类是在对象之上的抽象,对象是类的具体化,是类的实例。接口是一种特殊的类,它只有方法定义没有实现。

类可以分为三种:实体类、接口类(边界类)、控制类。

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

例题1:

在面向对象的系统中,对象是运行时实体,其组成部分不包括();一个类定义了一组大体相似的对象,这些对象共享()。

A.消息  B.行为(操作)  C.对象名  D.状态

A.属性和状态  B.对象名和状态  C.行为和多重度  D.属性和行为

解析1:

先看 AD 选项的两个概念。对象之间进行通信的一种构造叫作消息,是动态的。消息是异步通信的,而消息传递是指接收到信息的对象经过解释,然后予以响应。状态是一组属性对应确定值。 BC 选项是对象的组成部分,状态本质上也是属性,因此选择 A 项。对象共享属性和行为,选 D。

例题2:

在面向对象方法中,将逻辑上相关的数据以及行为绑定在一起,使信息对使用者隐蔽称为()。当类中的属性或方法被设计为 private 时,()可以对其进行访问。

A.抽象  B.继承  C.封装  D.多态

A.应用程序中所有方法

B.只有此类中定义的方法

C.只有此类中定义的 public 方法

D.同一个包中的类中定义的方法

解析2:

将属性和行为绑定在一起,使用者和生产者分离,这是封装,第一个空选 C。private 代表私有访问控制符号,也就是只允许自己访问,即同一类中定义的方法可以访问。还有 public 代表公有,应用程序中所有方法均可访问,默认 protected 代表受保护的,同一个包中的类中定义的方法可以访问。因此第二个空选 B。

(2)继承与泛化相关概念

继承是父类和子类之间共享(复用)数据和方法的机制。一个父类可以有多个子类,父类描述了这些子类的公共属性和方法。一个子类可以继承它的父类中的属性和方法,这些属性和方法在子类中不必定义,子类也可以定义自己的属性和方法。

例如,父类动物中的方法 call(),也称为抽象方法,没有具体实现。猫类继承了方法 call(),且有具体实现 call(){喵},狗类同样,call(){汪},这称为重置/覆盖,即在子类中重新定义父类中已经定义的方法。另一个概念叫作重载,指同一个类中多个同名方法根据不同的传参来执行不同的逻辑处理。

例题:

在面向对象方法中,()是父类和子类之间共享数据和方法的机制。子类在原有父类接口的基础上,用适合于自己要求的实现去置换父类中的相应实现称为()。

A.封装  B.继承  C.覆盖  D.多态

A.封装  B.继承  C.覆盖  D.多态

解析:

继承是父类和子类之间共享数据和方法的机制,子类也可以定义自己的属性和方法,也可以覆盖父类中的相应实现。因此选择 BC。

(3)多态与动态绑定相关概念

在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生不同的结果,这一现象称为多态。如猫对象收到消息 call,产生喵的结果;狗对象收到消息 call,产生汪的结果,这就是多态。

如果消息直接发送给一个类,然后由类在运行时决定由哪个对象响应,这就是动态绑定,或者说根据接收对象的具体情况将请求的操作与实现的方法进行连接。与之对应的,在编译阶段决定,称为静态绑定。

多态有四类:参数多态、包含多态、过载多态、强制多态。

过载多态:同一个名字(操作符、函数名)在不同的上下文中所代表的含义不同。

参数多态:应用广泛,最纯的多态。

包含多态:同样的操作可用于一个类型及其子类型。包含多态一般需要进行运行时的类型检查。

强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。

例题1:

在面向对象方法中,不同对象收到同一消息可以产生完全不同的结果,这一现象称为()。在使用时,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定。

A.接口  B.继承  C.覆盖  D.多态

解析1:

不同的对象收到同一消息可以产生不同的结果,这一现象称为多态。

例题2:

在下列机制中,()是指过程调用和响应调用所需执行的代码在运行时加以结合;而()是过程调用和响应调用所需执行的代码在编译时加以结合。

A.消息传递  B.类型检查  C.静态绑定  D.动态绑定

A.消息传递  B.类型检查  C.静态绑定  D.动态绑定

解析2:

如果消息直接发送给一个类,然后由类在运行时决定由哪个对象响应,这就是动态绑定。与之对应的,在编译阶段决定,称为静态绑定。

(4)概念汇总

例题1:

在某销售系统中,客户采用扫描二维码进行支付。若采用面向对象方法开发该销售系统,则客户类属于()类,二维码类属于()类。

A.接口  B.实体  C.控制  D.状态

A.接口  B.实体  C.控制  D.状态

解析1:

根据三种类的定义可知,客户属于实体类,二维码属于接口类。

例题2:

在面向对象方法中,继承用于()。

A.在已存在的类的基础上创建新类。

B.在已存在的类中添加新的方法。

C.在已存在的类中添加新的属性。

D.在已存在的状态中添加新的状态。

解析2:

继承是父类和子类之间共享(复用)数据和方法的机制,因此是在父类的基础上创建新类。

例题3:

()多态是指操作(方法)具有相同的名称、且在不同的上下文中所代表的含义不同。

A.参数  B.包含  C.过载  D.强制

解析3:

根据四类多态的定义可知,过载多态是操作(方法)具有相同的名称、且在不同的上下文中所代表的含义不同。

后续会持续更新整理。

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

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

相关文章

计算机组成原理 —— 微操作控制器

计算机组成原理 —— 微操作控制器 指令,微操作,微指令和微程序之间的关系指令 (Instruction)微操作 (Micro-operation)微指令 (Microinstruction)微程序 (Microprogram)关系示例 微程序控制器的基本结构微程序控制器的基本结构工作流程 微指令的基本格式…

AI技巧---1个万能公式,让AI帮你快速写汇报、方案、总结

现阶段我们跟AI沟通,主要是通过提示词。提示词怎么写,其实就决定了AI输出内容的质量和效果,这是用AI给公文写作提效的基本技能。 但如果你已经尝试过用AI写公文,可能会有这样的感受,就是AI输出的内容很多都是正确的废…

【PG高可用】Repmgr源码分析之主库监控

repmgr需要在集群中每个节点上以扩展的形式安装插件,运行在每个节点上的repmgrd可以监控复制以及执行故障转移或切换等操作增强 PostgreSQL 的内置复制功能。 如何可靠快速的监控主节点故障一般是所有数据库高可用程序中都会有的环节,本篇内容主要介绍不…

掌握 Linux 信号机制的技巧与策略

目录 一.信号的产生1.信号的产生(预备)2.异常(1).硬件异常(2).core dump(3).软件条件产生信号 二.信号的保存1.信号的发送2.block.pending.handler(保存)(1).sigset_t类型 三.信号的捕捉处理1.什么时候捕捉2.三顾进程地址空间3.如…

深圳水务展|2025深圳国际水务科技博览会

2025深圳国际水务科技博览会 展会主题: 新质生产力赋能水务产业高质量发展 展会时间:2025年7月24-26日 展会地点:深圳会展中心(福田) 主办单位: 广东省水利学会 深圳市水务学会 协办单位: 中国水利…

发论文idea来了!小样本学习+目标检测,12个创新点汇总

在一些特定应用领域,获取大规模且高质量标注的数据十分困难,比如医学图像分析。为了解决这个问题,研究者们提出了小样本目标检测。 小样本目标检测是一种结合了小样本学习和目标检测两者优势的技术,能够在有限的训练数据下&#…

elementPuls_Treeg更改颜色

elementPuls_Treeg更改颜色 .el-tree {background: transparent;color: #fff;}:deep(.el-tree-node__content:hover) {background: rgba(2, 167, 240, 0.5);}//选中的背景色:deep(.el-tree--highlight-current.el-tree-node.is-current> .el-tree-node__content) {backgrou…

上班族必备!这款免费录屏工具让你工作效率翻倍

www.bandicam.com/downloads/现在还依稀记得疫情爆发的那一年在学校上网课的场景,在家里上着网课担心错过老师讲的重点,就特地找了录屏的工具来使用,帮我录制重点片段,今天就针对录屏的工具整理了四款免费的录屏软件,有…

Linux系统驱动(五)

文章目录 一、实现机制二、字符设备驱动分布实现流程三、添加自己的系统调用函数1. 找到系统调用文件2. 找到 一、实现机制 应用层 vfs层 驱动层 字符设备按照字节流顺序访问,但是实际它提供了无序访问的功能 vi -t sys_open 内核中通过inode号可以唯一的找到一…

C语言典型例题27

《C程序设计教程(第四版)——谭浩强》 习题2.4 用下面的scanf函数输入数据 使a3,b7,x8.5,y71.8,c1A,c2a。问在键盘上怎么输入 代码 //《C程序设计教程(第四版)——谭浩强》 //习题2.4 用下面的scanf函数输入数据,使…

CentOS安装sentry

Sentry介绍 Sentry 是一套开源的实时的异常收集、追踪、监控系统。这套解决方案由对应各种语言的 SDK 和一套庞大的数据后台服务组成,通过 Sentry SDK 的配置,还可以上报错误关联的版本信息、发布环境。同时 Sentry SDK 会自动捕捉异常发生前的相关操作&…

电线电缆测厚双测径仪联控测厚系统

关键字:线缆测厚系统,绝缘层测厚设备,电线皮套测厚,电缆绝缘层测厚, 产品简介: 双测径仪联控测厚系统的工作原理基于光电测量技术。一台测径仪测量电缆的成品直径,另一台测径仪测量线芯的直径。通过这些测量数据,系统计算出绝缘层或护套层的厚…

IT课程学习搭子

各种IT课程齐全可学,价格你说了算,相比于培训班有以下优势: 1、避免被割韭菜,避免踩坑,避免交智商税,最低的成本学最有价值的课,同时又能达到比培训班更好的效果 2、收徒,带你学习 本…

第十五节、三段攻击动画的实现

一、创建攻击动画 新建图层 新建状态 放入攻击动画 二、攻击实现 三段式攻击 1、按下触发三段式 2、按键触发第一下攻击 设立两个参数 一个计数器 计数器并未使用 三、代码实现 1、注册攻击事件 2、设置动画参数关联

中国制造2025,会抛弃精益生产吗?

时至今日,“精益生产”模式依旧大行其道,它始终支持着中国制造业以最低的成本做出优质产品。我们认为,纵然是中国制造2025成为现实,精益生产模式也仍然是整个制造业的精髓之一。 首先,精益生产模式最重要的一根脊梁就是…

【密码学】密码协议的分类:①密钥建立协议

密码协议的分类有很多种方式,这里我采取的是基于协议实现的目的来分类。可以将密码协议分成三类:认证协议、密钥建立协议、认证密钥建立协议。这些协议在密码学和网络安全中扮演着至关重要的角色,下面我来对密钥建立协议详细介绍 密钥建立协议…

Rsync未授权访问漏洞 *

Rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口。由于配置不当,导致任何人可未授权访问rsync,上传本地文件,下载服务器文件。Rsync 默认允许匿名访问&…

mysql数据库数据类型和约束

mysql数据库:数据类型和约束 常见的数据类型和约束 数据类型 数值类型:INT、BIGINT、FLOAT、DOUBLE,DECIMAL等。字符串类型:CHAR、VARCHAR、TEXT等。日期和时间类型:DATE、DATETIME、TIMESTAMP等。二进制类型:BLOB、LO…

《机器学习by周志华》学习笔记-决策树-02

1、剪枝处理(Pruning) 1.1、背景概念 上文「决策树01」的学习中,我们了解了著名的3种决策树算法ID3、C4.5、CART。这3种决策树算法最根本的核心就是根据特征选择离散属性作为节点来搭建树结构,运用搭好的结构进行推理。 剪枝(pruning)则就是将搭好的决策树去掉一些「非叶节…

[RTOS 学习记录] 预备知识:C语言结构体

这篇文章是我阅读《嵌入式实时操作系统μCOS-II原理及应用》后的读书笔记,记录目的是为了个人后续回顾复习使用。 文章目录 结构体结构体基础声明和定义结构体类型声明和定义结构体变量初始化结构体变量初始化各个成员使用列表符号初始化 使用结构体变量综上 结构体…