设计模式选择题复习

1.在UML提供的图中,( )用于描述系统与外部系统及用户之间的交互

A.用例图
B.类图
C.对象图
D.部署图

2.在UML提供的图中,( )用于按时间顺序描述对象之间的交互。

A、对象图
B、状态图
C、活动图
D、时序图

3.以下关于类成员的可见性叙述错误的是( )

A、可见性为public时,类内和类外可以使用

B、可见性为protected时,类内及子类可以使用

C、可见性为private时,类内及类外皆不可以使用

D、可见性为public或protected时,子类皆可以使用

4.对于如图所示的UML类图,正确的描述是( )

在这里插入图片描述

A、类B的实例中包含了对类C的实例的引用

B、类A的实例中包含了对类B的实例的引用

C、类A的实例中包含了对类C的实例的引用

D、类B的实例中包含了对类A的实例的引用

5.UML中关联的多重度是指( )

A、一个类有多少个方法被另一个类调用

B、一个类的实例能够与另一个类的多少个实例相关联

C、一个类的某个方法被另一个类调用的次数

D、两个类所具有的相同的方法和属性

6. ( )表示了对象间is-a的关系。

A、组合
B、引用
C、聚合
D、继承

7.当采用标准UML构建系统类模型(Class Model)时,若类B除具有类A的全部特性外,类B还可以定义新的特性以及置换类A的部分特性,那么类B与类A具有( )关系;

A、聚合
B、泛化
C、传递
D、迭代

8.若类A的对象维持类B对象的引用或指针,并可与类C的对象共享相同的类B的对象,那么类A与类B具有( )关系。

A、聚合
B、泛化
C、传递
D、迭代

9.在UML类图中,( )关系表明类之间的相关联系最强。

A、聚合
B、组合
C、继承
D、关联

10.关于单一职责原则,以下说法错误的是( )。

A、 一个类只负责一个功能领域中的相应职责。
B、 就一个类而言,应该有且仅有一个引起它变化的原因。
C、 一个类承担的职责越多,越容易复用,被复用的可能性越大。
D、一个类承担的额职责过多时需要将职责分离,将不同的职责封装在不同的类

11.实现开闭原则的关键在于( )。

A、分离类的职责
B、对系统进行抽象化
C、一个类尽可能少地与其他类发生相互作用
D、多用关联关系,少用继承关系

12.某系统通过使用配置文件,可以在不修改源代码的情况下更换数据库驱动程序,该系统满足( )。

A、里氏替换原则
B、接口隔离原则
C、单一职责原则
D、开闭原则

13.已知ClassA是ClassB的父类,在ClassC中定义了ClassA类型的对象obj,且提供了方法setClassA(ClassA obj)用于给obj对象赋值,以下叙述错误的是( )。

A、可以在setClassA()方法中传递一个ClassB类型的对象
B、如果在类ClassA中定义了方法method1(),在类ClassB中覆盖了该方法,当setClassA()方法参数传递的是ClassB类型的对象时,在ClassC中调用obj的method1()方法时将执行ClassB的method1()的方法。
C、可以在ClassC中定义一个新的方法setClassA(ClassB obj),他与原有方法setClassA(ClassA obj)构成一组重载方法
D、如果在ClassB中定义了ClassA没有的新方法method2(),当setClassA()方法参数传递的是ClassB类型的对象时,在ClassC中可以调用obj对象的method2()方法。

14.下面关于面向对象设计的描述正确的是( )。

A、针对接口编程,而不是针对实现编程
B、针对实现编程,而不是针对接口编程
C、 接口与实现不可分割
D、优先使用继承而非组合

15.以下关于面向对象设计的叙述中,错误的是( )。

A、高层模块不应该依赖于底层模块
B、抽象不应该依赖于细节
C、细节可以依赖于抽象
D、高层模块无法不依赖于底层模块

16.关于继承复用和合成复用,以下叙述错误的是( )。

A、继承复用实现简单,子类可以继承父类的部分方法和属性,并且可以选择性覆盖父类的方法。
B、继承复用会破坏系统的封装性,会将基类的实现细节暴露给子类。
C、合成复用将已有对象纳入新对象中,使之成为新对象的一部分,新对象可以调用已有对象的方法,从而实现行为的复用。
D、合成复用又称为“白箱”复用,与继承复用相比,其耦合度更高,成员对象的变化对容器对象影响更大而且合成复用不能再横线运行时动态实现。

17.如果一个方法能够接受一个基类对象作为参数,必然可以接受一个子类对象。该陈述是( )的定义。

A、依赖倒转原则
B、里氏替换原则
C、合成复用原则
D、接口隔离原则

18.在某MIS系统设计中,提供了一个专门用于连接数据库的类DBConnection,该类包含了用于连接数据库的方法,系统提供DAO(数据库访问对象)类赋值对数据库进行增删改查等挫折,在操作数据库之前需要先连接数据库,因此需要重用DBConnection中的连接方法。为了确保系统具有良好的可扩展性和可维护性,类DBConnection和DAO 之间的关系以( )最为合适。

A、关联关系
B、 依赖关系
C、继承关系
D、实现关系

19.关于接口隔离原则,以下叙述错误的是( )。

A、 在系统设计时,客户端不应该依赖那些它需要的接口。
B、 当一个接口太大时,需要将它分割成一些更细小的接口,使用该接口的客户端类仅需指导与之相关的方法即可。
C、
接口应该尽量细化,同时接口中的方法应该尽可能少,理想情况是在每个接口中只定义一个方法,该接口使用起来最为方便。
D、
一个接口只代表一个角色,每个角色都有它特定的一个接口。

20. 在系统设计中应用迪米特法则,以下叙述错误的是( )。

A、在类的划分上,应该尽量创建松耦合的类,

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赫尔特痛痛kkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值