面向对象练习题附有答案_第1页
面向对象练习题附有答案_第2页
面向对象练习题附有答案_第3页
面向对象练习题附有答案_第4页
面向对象练习题附有答案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象练习题[复制]您的姓名:[填空题]*_________________________________关于封装,下列说法错误的是[单选题]A:封装是面向对象的主要特征之一B:封装是一种信息隐蔽技术,它体现于类的说明C:封装使属性(数据)和加工该数据的方法(函数)封装为一个整体D:封装使得用户只能见到对象的内部特性(正确答案)以下说法错误的是[单选题]A:多态是同一个行为具有多个不同表现形式或形态的能力B:多态可以消除类型之间的耦合关系C:多态存在的三个必要条件是:继承、重写、重载(正确答案)D:多态可以使程序有良好的扩展下列说法正确的是[单选题]A:Java中允许多继承B:Java中一个类只能实现一个接口C:Java中只能单重继承(正确答案)D:Java中一个类可以继承多个抽象类以下关于抽象类和接口的说法错误的是[单选题]A:在抽象类中可以没有抽象方法B:抽象类在Java语言中表示的是一种继承关系C:实现抽象类和接口的类必须要实现其中的所有方法,除非它也是抽象类D:接口中的方法必须都加上public关键字(正确答案)定义一个接口要使用下列哪个关键字[单选题]A:finalB:interface(正确答案)C:abstractD:extends以下哪个接口的定义是正确的[单选题]A:interfaceB{voidprint(){}}B:abstractinterfaceB{voidprint()}C:abstractinterfaceBextendsA1,A2{abstractvoidprint(){};D:interfaceB{voidprint();}(正确答案)以下对接口描述错误的有[单选题]A:接口没有提供构造方法B:接口中的方法默认使用public、abstract修饰C:接口中的成员变量默认使用public、static、final修饰D:接口不允许多继承(正确答案)选项中哪一行代码可以替换题目中//addcodehere而不产生编译错误[单选题]publicabstractclassMyClass{publicintconstInt=5;//addcodeherepublicvoidmethod(){}}A:publicabstractvoidmethod(inta);(正确答案)B:constInt=constInt+5;C:publicintmethod();D:publicabstractvoidanotherMethod(){}下面哪个符号表示依赖关系[单选题]A:虚线箭头(正确答案)B:实线空心三角形C:实现空心菱形D:实线箭头以下关于类之间的关系说法错误的是[单选题]A:依赖关系的耦合度强于实现关系(正确答案)B:关联关系按紧密程度又分为组合关系和聚合关系C:实现关系是类与接口之前的关系D:聚合关系的UML表示法是带空心菱形的实心线关于类之间的关系,下列说法正确的是[单选题]A:代码层面/类图层面上,如果类B作为参数被类A在某个method方法中使用,那么我们说A依赖于B(正确答案)B:代码层面/类图层面上,如果类B以类的属性的形式出现在类A中,那么我们说A依赖于BC:继承关系中,箭头指向子类D:实现关系中,箭头指向实现类关于类之间的关系,下列说法错误的是[单选题]A:如果一个人需要过河,他可能会借一条船过去,这时他与船之间就形成了依赖关系。B:类之间相互依赖程度越低,变化产生的影响就越小,出错的概率就越低。C:在某些情况下,类也可能依赖自身。D:依赖是一个类A使用到了另一个类B,这种关系往往是永久性的。(正确答案)Java语言的类间的继承关系是[单选题]A:多重的B:单重的(正确答案)C:线程的D:不能继承类与类之间的耦合度从弱到强排列正确的是[单选题]A:依赖、关联、聚合、组合、继承(正确答案)B:依赖、关联、组合、聚合、继承C:依赖、聚合、组合、关联、继承D:依赖、组合、聚合、关联、继承以下关于类之间的关系说法错误的是[单选题]A:依赖关系的耦合度强于实现关系(正确答案)B:关联关系按紧密程度又分为组合关系和聚合关系C:实现关系是类与接口之前的关系D:聚合关系的UML表示法是带空心菱形的实心线计算机(Computer)由中央处理器(CPU)、内存(RAM)、显示器(Monitor)等组成。那么Computer类与其他类(CPU、RAM、Monitor等)之间的关系是[单选题]A:继承B:实现C:依赖D:聚合(正确答案)计算机与软件学院开发了一个学生宿舍管理系统,系统中定义了类Student和类Dorm,并在类Student中定义了方法open(d:Dorm)和方法close(d:Dorm),则类Student和类Dorm之间的关系是[单选题]A:依赖(正确答案)B:关联C:实现D:组合下列关于高内聚、低耦合说法错误的是[单选题]A:软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准B:高内聚具备可靠性,可重用性,可读性等优点C:多使用类的继承可降低类内部的耦合度(正确答案)D:少使用全局变量可降低类内部的耦合度面向对象的设计原则包括()。[单选题]A:弱耦合、弱内聚B:弱耦合、强内聚(正确答案)C:强耦合、强内聚D:强耦合、弱内聚进行面向对象设计时,就一个类而言,应该仅有一个引起它变化的原因,这属于()设计原则。[单选题]A:单一职责(正确答案)B:开放封闭C:接口分离D:里氏替换以下描述中,属于单一职责原则优点的是()A:降低类的复杂度(正确答案)B:提高类的可读性,因为类的职能单一,看起来比较有目的性,显得简单(正确答案)C:提高系统的可维护性,降低变更程序引起的风险(正确答案)为什么遵守面向对象设计原则A:提高代码的可维护性(正确答案)B:提高代码的可重用性(正确答案)C:提高代码的稳定性(正确答案)D:降低耦合度,使得代码更加灵活和可扩展(正确答案)下列关于开放闭合原则的说法错误的是[单选题]A:开放闭合原则的核心在于抽象。B:开放闭合原则的思想是对修改开放,对扩展关闭。(正确答案)C:开放闭合原则的思路是针对抽象编程,不针对具体编程。D:利用开放闭合原则可以提高系统稳定性、提高代码复用性。在设计软件系统时,以下哪项做法最符合开闭原则[单选题]A:当业务需求发生变化时,直接修改现有类的内部实现。B:在代码中预留大量的空方法和占位符,以便未来添加新功能。C:定义一个稳定的接口,并在实现该接口的类中实现新功能。(正确答案)D:尽量避免使用继承,而是使用组合来扩展类的功能。在电商系统中,支付模块是一个重要组成部分,需要支持多种支付方式,例如支付宝、微信、银行卡等。具体采用哪一个设计原则来设计支付模块可以提高系统的可扩展性和可维护性?[单选题]A:单一职责原则B:开放闭合原则(正确答案)C:面向对象设计原则D:高内聚低耦合原则关于里氏替换原则,下面解读正确的是()。A:子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法(正确答案)B:子类中可以增加自己特有的方法(正确答案)C:当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更严格D:当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格(正确答案)如果一个方法能够接受一个基类对象作为其参数,必然可以接受一个子类对象,该陈述是哪个设计原则的定义。[单选题]A:依赖倒置原则B:里式替换原则(正确答案)C:开闭原则D:单一职责原则“有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。新功能P由类A的子类B来完成,则子类B在完成新功能P2的同时,有可能会导致原有功能P1发生故障”以上问题,需要使用()设计原则进行优化。[单选题]A:依赖倒置原则B:开放闭合原则C:里氏替换原则(正确答案)D:单一职责原则依赖倒置原则包含以下含义()。A:高层模块不应该依赖低层模块,两者都应该依赖其抽象(正确答案)B:抽象应该依赖细节C:细节应该依赖抽象(正确答案)以下关于依赖倒置原则的说法,错误的是[单选题]A:依赖倒置原则要求高层模块不应该依赖于低层模块,它们都应该依赖于抽象。B:依赖倒置原则有助于提高代码的可维护性和可扩展性。C:依赖倒置原则鼓励我们尽可能多地使用接口和抽象类,以减少类之间的耦合。D:依赖倒置原则意味着我们应该避免使用继承。(正确答案)下面的类图设计违反了哪个设计原则[单选题]A:单一职责原则B:开闭原则C:依赖倒置原则(正确答案)D:里式替换原则关于接口隔离原则,以下描述正确的是()A:一个接口代表一个角色,应该将不同的角色都交给一个接口。B:一个类对另一个类的依赖应该建立在最小的接口上。(正确答案)C:不应该强迫客户依赖它们从来不用的方法。(正确答案)下列关于接口隔离原则说法错误的是[单选题]A:类之间的依赖关系应该建立在最小的接口上B:客户端不应该被强制依赖它不需要的接口C:使用接口隔离原则拆分接口时,必须要满足单一职责原则D:使用单一的总接口,降低代码复杂度(正确答案)下列哪一项()不是接口隔离原则的优点[单选题]A:避免接口污染B:提高灵活性C:实现高耦合(正确答案)D:提供定制服务下列关于高内聚、低耦合说法错误的是[单选题]A:软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。B:高内聚具备可靠性,可重用性,可读性等优点。C:多使用类的继承可降低类内部的耦合度。(正确答案)D:少使用全局变量可降低类内部的耦合度。下列关于设计原则说法错误的是[单选题]A:一个好的面向对象设计,是符合高内聚、低耦合的。B:面向对象设计原则有单一职责原则、自顶向下设计原则、开放闭合原则等。(正确答案)C:单一职责原则、开放闭合原则强调类划分时的高内聚。D:里氏替换、依赖倒置、接口隔离原则强调类之间的低耦合。关于设计原则以下说法错误的是[单选题]A:开放闭合原则定义一个软件实体应当对修改关闭,对扩展开放B:迪米特法则的核心是一个对象对其他对象有最少的了解C:依赖倒置原则是指高层模块不应该依赖于底层模块,两者都依赖于具体实现(正确答案)D:里氏替换原则是说父类出现的地方,可以用子类对象去代替下列关于迪米特法则说法错误的是()[单选题]A:迪米特法则也叫最少知识原则B:一个类对于自己依赖的类知道的越多越好(正确答案)C:该法则包含依赖者和被依赖者两个角色D:迪米特法则强调要与直接朋友通信下列说法错误的是[单选题]A:迪米特法则降低了类之间的耦合度,提高了模块间的相对独立性B:迪米特法则的核心是引入中介进行解耦C:从被依赖者角度看,迪米特法则强调要提高类成员的访问权限(正确答案)D:从依赖者角度看,迪米特法则强调要依赖于直接朋友某系统界面类(如Form1、Form2等类)与数据访问类(如DAO1、DAO2等类)之间的调用关系较为复杂,其中Form1和Form2的业务较为相关,Form3、Form4和Form5的业务上较为相关。以上设计违反()设计原则[单选题]A:接口隔离原则B:依赖倒置原则C:迪米特法则(正确答案)D:里氏替换原则在软件设计中,迪米特法则强调了什么原则?[单选题]A:一个对象应当尽可能多地了解其他对象的状态和行为B:一个对象应当对其他对象有尽可能少的了解(正确答案)C:类之间的通信应该尽可能频繁D:软件模块应当尽可能复杂以提高功能多样性策略模式组成不包括________[单选题]A:抽象策略角色B:具体策略角色C:环境角色D:观察者角色(正确答案)下列关于策略模式说法错误的是[单选题]A:策略模式定义了一系列的算法,将每个算法分别封装起来,使之可以互相替换B:策略模式优点是方便程序扩展C:策略模式属于创建型模式(正确答案)D:策略模式支持开放闭合设计原则下列关于设计模式,说法错误的是[单选题]A:设计模式分为创建型、架构型、行为型、并发型(正确答案)B:使用设计模式可以保证代码可维护性、提高可重用性、增强扩展性C:设计模式是软件开发人员在开发过程中面临一般问题的解决方案D:GoF四人组提出23种设计模式,树立了软件设计模式领域的里程碑下列哪个场景不适用于策略模式[单选题]A:订阅微信公众号,更新后会收到通知,取消预定则收不到通知。(正确答案)B:超市促销可以采用打折、送礼物、送积分等方式。C:战斗类游戏中可以选择更换武器,如机枪、砍刀、长剑等。D:诸葛亮针对一个危机有很多锦囊妙计。下列哪一个场景可以使用策略模式[单选题]A:一个人只有一个身份证B:春游选择出行工具,如汽车、自行车、飞机等(正确答案)C:出国旅行需要电源转接头才可正常充电D:可以一键开启家庭影院,实现开机、调节音量、调节灯光等单例模式的要点描述错误的是:[单选题]A:某个类只能有一个实例。B:它必须自行创建这个实例。C:单例模式不必持有自己的引用。(正确答案)D:他必须自行向整个系统提供这个实例。下列关于单例模式的应用场景说法错误的是[单选题]A:在多个客户端会话中共享同一个类的某个实例B:保证单例类的构造函数构造出来的实例对象是有限的,或者都能被客户端进行访问(正确答案)C:一些设备管理器常设计为单例模式,如一个电脑有两台打印机,在输出的时候就要处理不能两台打印机打印同一个文件D:Windows是多进程多线程的,在操作一个文件的时候,不可避免出现多个进程或线程同时操作一个文件的现象,所有文件的处理必须通过唯一的实例来进行单例模式属于()设计模式[单选题]A:行为型B:创建型(正确答案)C:结构型D:线程型下列哪一项不是单例模式的适用场景[单选题]A:古代皇帝登基问题B:计算机任务管理器问题C:比赛争夺冠军问题D:商场折扣政策问题(正确答案)下列关于饿汉式和懒汉式说法错误的是()A:饿汉式在第一次使用时需要进行实例化。(正确答案)B:懒汉式在类加载时就创建实例。(正确答案)C:饿汉式的线程时安全的。D:懒汉式存在线程风险。下列关于命令模式说法错误的是[单选题]A:命令模式中一个命令对象通过在特定接收者上绑定一组动作来封装一个请求B:命令模式将一个请求封装成一个对象C:命令模式的目的是将命令的请求者与命令的接收者进行解耦D:命令模式是创建型设计模式的一种(正确答案)下列哪个不是命令模式的优点[单选题]A:降低了系统的耦合度B:可以动态的添加新的命令,支持可撤销的操作C:产生更多具体命令类,使结构庞大,方便操作(正确答案)D:实现对象间的灵活调用,方便扩展下列哪个问题不适用于命令模式来解决[单选题]A:餐厅点餐问题,服务生通过给厨师传递菜单完成点餐B:遥控器控制开关灯问题,一个按钮就是一个命令C:出行选择交通工具问题,如飞机、火车等(正确答案)D:司令发号施令问题,通过口令让士兵完成训练命令模式属于()设计模式[单选题]A:行为型(正确答案)B:结构型C:创建型D:线程型命令模式类的结构包含以下哪几种角色A:Command统一命令接口(正确答案)B:ConcreteCommand命令接口的具体实现者,用来执行具体命令(正确答案)C:Receiver命令的执行者,也叫命令的接收者(正确答案)D:Invoker命令的请求者,该角色对各个命令进行控制(正确答案)下列关于模板方法模式说法错误的是[单选题]A:模板方法模式是一种行为型设计模式B:模板方法模式定义了一个操作中的算法骨架,将一些步骤延迟到子类去做C:模板方法模式通过改变算法结构来重新定义算法的某些特定步骤(正确答案)D:模板方法模式的本质是通过抽象类封装了一个固定流程,具体步骤由子类实现下列哪个不是模板方法模式的优点[单选题]A:行为由父类控制,子类实现B:利用抽象类封装流程,实现开放闭合C:通过钩子方法hook()实现反向控制结构D:利用对象组合的方式完成功能复用(正确答案)模板方法模式属于()设计模式[单选题]A:创建型B:行为型(正确答案)C:结构型D:桥接型下列关于模板方法模式类的结构说法错误的是[单选题]A:只有继承关系,没有对象关联关系B:抽象父类中通过final关键字避免子类重写算法C:模板方法定义了算法的步骤,包含抽象方法、具体方法、钩子方法D:子类为实现模板步骤要将父类中方法全部覆盖(正确答案)下列哪个场景可以采取模板方法模式进行优化()A:咖啡店煮咖啡流程(正确答案)B:出国办理手续流程(正确答案)C:汽车运行流程(正确答案)D:诸葛亮选择锦囊妙计问题下列关于观察者模式说法错误的是[单选题]A:观察者模式又叫发布-订阅模式B:观察者模式定义对象间的一种一对多的依赖关系C:观察者模式中每当一个对象状态变化时,其相关依赖对象都会得到通知并被自动更新D:观察者模式属于创建型设计模式(正确答案)下列哪一个场景可采取观察者模式进行优化设计[单选题]A:咖啡店制作咖啡问题,可根据用户需求添加不同的配料B:进制转换器可将一个十进制数转换成二进制、八进制、十六进制,十进制数改变对应进制数更新(正确答案)C:一个国家只有一个皇帝可以继承王位D:餐厅点餐问题,服务员拿到菜单传递吧台,厨师看到菜单可以炒菜观察者模式属于()设计模式[单选题]A:行为型(正确答案)B:创建型C:结构型D:线程型下列说法错误的是[单选题]A:观察者角色的更新是被动的B:被观察者可以通知观察者进行更新C:观察者可以改变被观察者的状态(正确答案)D:微信公众号更新,关注者可以收到推送,取消关注则收不到推送。该问题可用观察者模式解决观察者模式类的结构包含哪些角色A:Subject被观察的对象,在主题中定义一个观察者集合(正确答案)B:ConcreteSubject具体被观察对象,状态发生变化时会发送通知给所有注册的观察者(正确答案)C:Observer观察者统一接口,定义了一个更新update()方法(正确答案)D:ConcreteObserver具体观察者,维护一个对具体被观察对象的引用(正确答案)下列关于适配器模式说法错误的是()[单选题]A:适配器模式是将一个类的接口转换成客户希望的另一个接口B:适配器模式即可作为类结构型设计模式,也可作为对象结构型模式C:根据适配器和被适配者关系不同,分为对象适配器和类适配器D:类适

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论