十一 面向对象技术(考点篇)试题

2024-09-05 18:28

本文主要是介绍十一 面向对象技术(考点篇)试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

A ;D,D。实际答案:C;D,D

考的很偏了。UML 2.0基础结构的设计目标是定义一个元语言的核心 UML 2.0 【InfrastructureLibrary】,通过对此核心的复用,除了可以定义一个自展的UML元模型,也可以 InfrastructureLibrary UML 定义其他元模型,包括 MOF和CWM(Common Warehouse Model,公共仓库模型)。由于共用核心库, MOF CWM(Common Warehouse Model ) 所以UML和MOF、CWM在体系结构上更加一致。同时,InfrastructureLibrary 还提供了定制 UML更 UML MOF CWM InfrastructureLibrary UML强有力的机制,允许用户定义针对不同平台(如.NET、J2EE 等)和领域(如电信、金融、系统工程)的语言。

顺序图,又称为序列图,其中的交互用序列片段表示,这里如果知道其另一个名字就好理解。序列图中的消息包括同步、异步、返回,这是文老师讲过的三种,根据这个基本就能锁定 AD, 但是D也比较糊弄人,因为来了个参与者,可能有的学员想参与者是用例图的没选。

D,PAD图是是一种用于描述程序逻辑和结构的图形化工具

A,B。实际答案A,D。

分析软件模式主要可分为设计模式、分析模式、组织和过程模式等,每一类又可细分为若干 个子类。在此着重介绍设计模式,目前它的使用最为广泛。
设计模式主要用于得到简洁灵活 的系统设计,GoF的书中共有23个设计模式,这些模式可以按两个准则来分类:一是按设 GoF 23计模式的目的划分,可分为创建型、结构型和行为型三种模式;二是按设计模式的范围划分,即根 ,据设计模式是作用于类还是作用于对象来划分,可以把设计模式分为类设计模式对象设计模式

B,C,A。蒙对了

创建性模式支持对象的创建。该模式允许在系统中创建对象,而不需要在代码中标识特定类的类型,这样用户就不需要编写大量、复杂的代码来初始化对象。它是通过该类的子类来创建对象的。
在不指定具体类的情况下,Abstract Factory模式为创建一系列相关或相互依赖的对象提供了一个接口。根据给定的相关抽象类,Abstract Factory模式提供了从一个相匹配的具体子类集创建这些抽象类的实例的方法。Abstract Factory模式提供了一个可以确定合适的具体类 的抽象类,这个抽象类可以用来创建实现标准接口的具体产品的集合。客户端只与产品接口和 Abstract Factory 类进行交互。使用这种模式,客户端不用知道具体的构造类。Abstract Factory模式类似于Factory Method模式,但是Abstract Factory模式可以创建一系列的相 关对象
  
Builder模式复杂对象的构建与其表示相分离,这样相同的构造过程可以创建不同的对象。
通过只指定对象的类型和内容,Builder模式允许客户端对象构建一个复杂对象。客户端可以不受该对象构造的细节的影响。这样通过定义一个能够构建其他类实例的类,就可以简化复杂对象的创建过程。Builder模式生产一个主要产品,而该产品中可能有多个类,但是通常只有一个主类。
  
Prototype模式(原型模式)允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象。使用Prototype实例,便指定了要创建的对象类型,而通过复制这个Prototype,就可以创建新的对象。Prototype模式是通过先给出一个对象的Prototype对象,然后再初始化对象的创建。创建初始化后的对象再通过Prototype 对象对其自身进行复制来创建其他对象。Prototype模式使得动态创建对象更加简单,只要将对象类定义成能够复制自身就可以实现。

看这样子有类名,属性和方法;时序图/顺序图应该有消息:同步、异步、返回,所以B排除;C构件图/组件图应该没这么详细,而且应该带着半圆的供接口,和圆形的需接口,C排除,对象图是类图的快照,而且看图里有1:n之类的可能是类图D,既然是类图,一般是用于开发,选B

A,D,C,B

在任何设计活动中都存在着某些重复遇到的典型问题,不同开发人员对这些问题设计出不同的解决方案,随着设计经验在实践者之间日益广泛地被利用,描述这些共同问题和解决这些问题的方案就形成了所谓的模式。
设计模式主要用于得到简洁灵活的系统设计,按设计模式的目的划分,可分为创建型、结构型和行为型三种模式。
创建型模式是对对象实例化过程的抽象
例如 Singleton模式确保一个类只有一个实例,并提供了全局访问入口Prototype模式允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象Builder模式将复杂对象的构建与其表分离
  
结构型模式 主要 用于如何组合已有的类和对象以获得更大的结构 一般借鉴封装、代理、继承等概念将一个或多个类或对象进行组合、封装,以提供统一的外部视图或新的功能
 
行为型模式主要用于对象之间的职责及其提供的服务的分配,它不仅描述对象或类的模式描述它们之间的通信模式,特别是描述一组对等的对象怎样相互协作以完成其中任一对象都无法单独完成的任务。

C。实际选A

4+1 视图即:逻辑视图、开发视图、物理视图(部署视图)、进程视图、场景。
架构的4+1视图跟UML4+1视图不同。
UML4+1视图

D,C,D,D。实际答案,D,A,B,A。

按照内容分

创建型Abstrator Factory、Builder(构建器)、Factory Method(工厂方法)、Prototype(原型)、Singleton(单例)

结构型Adapter(适配器)、Bridge(桥接)、Composite(组合)、Decorator(装饰)、Facade(外观)、Flyweight(享元)、Proxy(代理)

行为型Chain of Responsibility(职责链)、Command(命令)、Interpreter(解释器模式)、Iterator(迭代器模式)、Mediartor(中介者)、Memento(备忘录)、Observer(观察者)、State(状态)、Strategy(策略)、Template Method(模板方法)、Visitor(访问者)

常靠的记忆要点:

创建型:

  • Abstrator Factory:提供一个接口,用它可创建一系列相互依赖的对象,无需指定具体的类。
  • Builder:类和构造分离。类比较复杂的时候,将表示和构造分开,构件过程有不同的表示。
  • Prototype:原型实例,拷贝。用原型实例指定创建对象的类型,然后拷贝这个原型来建新对象。
  • Singleton:单例

结构型:

  • Adapter:转换、兼容、适配
  • Bridge:把抽象部分和实现部分分离,各自独立变化。
  • Composite:将对象组合成树形结构以表示"整体-部分"的层次结构,这样用户对单个对象和组合对象使用具有一致性。
  • Decorator:动态给对象附加职责,扩展更灵活。
  • Facade:对外统一接口。定义个高层接口,为一组接口提供一致的外观。
  • Flyweight:大量细粒度共享
  • Proxy:代理控制

行为型:

  • chain of Responsibility:传递请求、职责、链接。将对象链接起来,请求在链中传递,直到找到处理的对象。
  • Command:日志记录、可撤销操作。
  • Interpreter:解释器,虚拟机。
  • Iterator:顺序访问,不爆露内部。
  • Mediator:不直接引用。
  • Memento:保存,回复。
  • Observer:通知,自动更新。
  • State:状态变成类。
  • Strategy:算法替换
  • Visitor:数据和操作分离
  • Template Method:定义了算法骨架,详细步骤子类,达到不改变算法结构重定义算法步骤。

C,C,B。实际答案:B,C,D

面向对象有分析模型、数据模型、用例模型;而分析模型中顶层架构图是结构、用例是数据。

面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成

D ,C,A,D。蒙对了。

设计模式包括:创建型、结构型、行为型三大类别。 Singleton是单例模式,属于创建型设计模式。Adapter是适配器模式,属于结构型设计模式。Visitor 是访问者模式,属于行为型设计模式。

C,C,D。实际B,C,D

面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成;设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。

C,D,D,B。实际答案:C,D,C,D。还是要熟悉23中模式的名字和主要是干啥的

A。会员注册,必须要先干电话注册或者是邮件注册。实际选C。

泛化关系是从另一个角度来看的继承关系,也就是说,当两个用例之间可能存在父子关系时,可判 定为泛化关系。在本题中,“电话注册”与“邮件注册”都属于“会员注册”,他们是“会员注 册”的具体形式,所以存在父子关系,可判定为泛化关系。

A,B

D ,C

  • 单一职责原则:设计目的单一的类。
  • 开放-封闭原则:对扩展开放,对修改封闭。李氏(Liskov)替换原则:子类可以替换父类。
  • 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。
  • 接口隔离原则:使用多个专门的接口比使用单一的总接口要好。
  • 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。
  • 迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解
  • 解释器(interpreter)模式。解释器模式属于类的行为型模式,描述了如何为语言定义 interpreter一个文法,如何在该语言中表示一个句子,以及如何解释这些句子,这里的“语言”是使用规定格式和语法的 代码。解释器模式主要用在编译器中,在应用系统开发中很少用到。
  • 策略(strategy) strategy模式。策略模式是一种对象的行为型模式,定义一系列算法,并将每一个算法封 装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,其目的是将行为和 环境分隔,当出现新的行为时,只需要实现新的策略类。
  • 中介者(mediator)模式。中介者模式是一种对象的行为型 mediator模式,通过一个中介对象来封装一系列 的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者对象的存在保证了对象结构上的稳定,也就是说,系统的结构不会因为新 对象的引入带来大量的修改工作。
  • 迭代器(iterator)模式。迭代器模式是一种对象的行为型模式,提供了一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象,复杂的聚合可 用多种方法来进行遍历;允许在同一个聚合上可以有多个遍历,每个迭代器保持它自己的遍历状 态,因此,可以同时进行多个遍历操作。

C ,B。桥接的抽象和实现分离。

本题考点是设计模式,不同的设计模式可以应用于不同的场景,在本题题干部分提到宣传产品有多 种表现形式,又有多种媒介,如果用一棵类树来表达,必然会带来“类爆炸”的问题,所以使用桥 接模式是合适的。桥接模式的最核心特点便是:将抽象部分与它的实现部分分离,使它们都可以独 立地变化。

D ,B。答案:A,D。

UML对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联 UML性、交互机 制和指导原则等提供系统设计的信息。具体来说,就是指以下5个系统视图:
  • (1)逻辑视图。逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分, 即类、子系统、包和用例实现的子集。
  • (2)进程视图。进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构
  • (3)实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。 
  • (4)部署视图。部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
  • (5)用例视图。用例视图是最基本的需求分析模型

B,A。

针对题目给出的情况,公司的架构师决定采用“包装器外观”架构模式解决操作系统的差异问题。具体来说,服务端程序应该在包装器外观的实例上调用需要的方法,然后将请求和请求的参数发送 给操作系统API函数,调用成功后将结果返回。使用该模式提高了底层代码访问的一致 API性,但降低了 服务端程序的调用性能。

C,B;A,B。答案:C,B;C,A

  • 1.实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息,例如,在线教育平台系统可以提取出学员类和课程类,它们都属于实体类。实体类通常都是永久性的,它们所具有的属 性和关系是长期需要的,有时甚至在系统的整个生存期都需要。实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型的转化中,一个参与者一般对应于实体类。通常可以从 SRS 中的那些与数据库表(需要 持久存储)对应的名词着 SRS手来找寻实体类。通常情况下,实体类一定有属性,但不一定有操作。
  • 2.控制类 控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转 化来的名词,例如,用例“身份验证”可以对应于一个控制类“身份验证器”,它提供了与身份验证相关的所有操作。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象(控制类 的实例)通常控制其他对象,因此,它们的行为具有协调性。控制类将用例的特有行为进行封装,控制对象的行为与特定用例的实现密切相关,当系统执行用例 的时候,就产生了一个控制对象,控制对象经常在其对应的用例执行完毕后消亡。通常情况下,控 制类没有属性,但一定有方法。
  • 3.边界类 边界类用于封装在用例内、外流动的信息或数据流。边界类位于系统与外界的交接处,包括所有窗体、报表、打印机和扫描仪等硬件的接口,以及与其他系统的接口。要寻找和定义边界类,可以检查用例模型,每个参与者和用例交互至少要有一个边界类,边界类使参与者能与系统交互。边界类 是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。常见的边界类有窗口、通信协 议、打印机接口、传感器和终端等。实际上,在系统设计时,产生的报表都可以作为边界类来处 理。边界类用于系统接口与系统外部进行交互,边界对象将系统与其外部环境的变更(例如,与其他系 统的接口的变更、用户需求的变更等)分隔开,使这些变更不会对系统的其他部分造成影响。通常 情况下,边界类可以既有属性也有方法。

装饰模式:动态地给一个对象添加一些额外的职责。它提供了用子类扩展功能的一个灵活的替代, 比派生一个子类更加灵活。
在本题中,“现需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显 示控件和图片显示控件”,从此处可以看出需要能为构件灵活附加功能的机制,这与装饰模式的情况是吻合的。这样做比静态继承具有更大的灵活性。

这篇关于十一 面向对象技术(考点篇)试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139731

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi